SHA256 * 2 on header - what am I doing wrong?
You have the wrong block version number.  Block 300000 is a version 2 block, whereas 125552 was version 1.  So the first word in the block header should be "02000000" not "01000000".