Here's how I finally fixed it, I had the exact same issue as you (HP Laserjet 1012 plugged into an XP32 machine, and trying to share it with a Win 7 x64 machine).
First, I needed to trick the XP machine into thinking the attached printer is an HP 3055 PCL5 printer, not an 1012 laserjet. It turns out, as I have read on other forums, that the 3055 series and the 1010, 1012, and 1015 are basically the same printer. Since 1012 is currently not supported on Win 7, I couldn't find any other way around it. Trying to trick Win 7 by installing the Vista x64 drivers for the 1012 never worked.
So anyway, knowing that you need to trick all of your computers into seeing the 1012 as a 3055 PCL5 instead, here's how to do it:
1. Uninstall your 1012 from the XP computer.
2. Reinstall it manually as a 3055 PCL5 on the XP computer. I just went to the HP driver page, and downloaded the XP drivers (since my version of XP didn't appear to include 3055 drivers from the start). Even though the printer is actually a 1012 laserjet, if you tell XP that it's a 3055 PCL5, it will just accept it. The trick is, however, that when you go into your Win 7 machine, and try to add the network printer, it will see it as a 3055 PCL 5, not a 1012.
3. Add the printer in Win 7, searching for it as a network printer. Make sure that print and file sharing are enabled on the XP machine and the 3055 installed on the XP machine.
4. Since the 3055 PCL5 is directly supported in Win 7, it was all automatic on the Win 7 machine, just a few clicks and everything installed itself.
Until HP decides to come up with Win 7 drivers for the 1010 series, this was the only workaround that I could find. Note, I haven't done large volume printing, so I don't know if there are any impacts on speed due to using this trick, but so far the printing is working fine. There appear to be no ill effects from using the 3055 drivers to run the 1012 printer. Hope this helps you out.