When you say relatively short files do you mean short as in not a large gcode file or short actual time wise
Have you tried re running the same file to see if it happens at the same point a second time?
Does it happen after mach3 has been running for a certain period of time or the computer has been switched on for a certain period of time?
Can you still send all axis to zero or ref all home when this happens?
you might want to try running some air cuts for testing although the z axis moves should always be first so you shouldn't break any bits
The set up for windows 7 should be pretty much the same as it is for xp, have you been through the xp set up again & applied those settings to windows 7 ?