Using that CSS wouldn't Hide it from the spiders view, it will simply "move" the H1 off the screen.
It is a pretty old "trick".
Lets not forget Heading tags are useful to site visitors to so shouldn't necessarily be hidden to them.
Users will use the headings whilst they Scan read your pages, if they can't quickly identify what the page content is about there is a danger they could simply bounce off... and you will lose them.
As for Search engines penalising you for it, I'm not too sure, is there any research which anybody can point us towards? I dont think they are reading CSS attributes just yet right?
Andy