the p0300 code is just a general misfire code. you do not have a p0301, p0302, p0303 or p0304 too, do you?
That would help narrow it down if you did.
Just a few possibilities...
Are the plug wires on the correct way? i know that sounds stupid but it is a "traditional" waste spark and can run backwards..
but also be considered a misfire. Also if you have the wrong plugs in, it could also trigger this issue. any power loss issues?
A big indicator that it might still the coil pack is the hold light.. But it could be a ground issue as well. Check your transmission/engine ground strap to make sure they were hooked up with the head gasket change. If bought a coil pack, its hard to say try another. But the signal for the hold light I think you would get a code for too do you have one?
Another way to for the engine to miss is no fuel, if the car sat a while like you said you might need to clean out the injectors.
have you done your other maintenance like air filter, oil, etc on time? Fuel filter?