2003 Mazda protege p0300 random misfire. have replaced coil packs, plugs and wires. code still pops now and then. hesitation sometimes at any speed. starts and idles fine.???
One thing that can cause a P0300 code is a dirty/defective Mass Air Flow sensor. However, to determine if MAF sensor is at fault, you need a scanner that can do real time monitoring of the MAF sensor to determine what percent of air mass enters the engine relative to throttle position.
One thing you can try is cleaning the MAF sensor. Purchase an aerosol can of MAF sensor cleaner and clean the hot wire of the MAF sensor. See if that gets rid of the code.