It sounds like you probably have a leak between the block and head. I'd do a compression and/or leakdown test to verify that.

The P0300 you're getting is probably from a new crankshaft position sensor I'm guessing. In order to get rid of the code you'll have to bring it in to a dealer or someone else with a GM specific OBDII tool (I forget the name of it). I had to take mine to the dealer to get rid of it. Tell them it needs a crankshaft relearn procedure.