A few other things to check, that can cause a PO 300:
If you haven't tried this already, it's worth a shot: Take the car for a ride with the MAF sensor unplugged; if the misfire is gone, replace the MAF Sensor. Clear the code, and take the car for at least three trips, shutting it off for at least two minutes between trips. If the code doesn't come back, good to go!
Vacuum leaks: Check all vacuum lines, and check for leaks around the intake mounting surfaces, MAF sensor, throttle body, EGR valve, EGR adapter and feed pipes, and injector o-rings. Remove the EGR valve, and make sure it isn't partially stuck open. Check the PCV Valve for improper installation, and damaged/missing o-rings.
A damaged serpentine belt or belt driven accessory can cause engine load variations sufficient to set a misfire DTC.
Extended idling or short trip driving can leave deposits on the heated oxygen sensors, causing them to respond slowly to exhaust oxygen content, affecting fuel control and causing a misfire to be indicated at idle.
Best of luck in tracking down your problem; I know all too well how frustrating it can be...