The most common reason for a misfire is the ignition coil that is connected to the sparkplug on top of the problem cylinder.
P0304 : cylinder number 4 misfire.
# 5 engine cylinder - misfire detected
a bad wire or a bad coil to cylinder 5.
Most likely a bad ignition oil. Each cylinder has its own coil mounted at the top of the spark plug
It could just be a bad spark plug wire or the spark plugs need changing.
P0306 Cylinder 6 Misfire Detected
Trouble code P0301 means: Number 1 Cylinder Misfire Detected
According to Haynes, this represents a misfire in cylinder 6.
Trouble code P1301 means: Cylinder 1, misfire detected
Trouble code P0304 means: Cylinder 4 Misfire Detected
If you have the old key or the old cylinder in your hand, you can get a locksmith to decode it. If not, you have to go to a GM dealer.