How to keep an old VB6 application running in Windows Vista and Windows 7?
If Compatibility Mode
doesn't work there is also XP Mode. This virtualizes the entire environment in an XP virtual machine but also allows it to interact with the host OS. It's only available for Windows 7 though.
Have the user run the app in compatibility mode for XP. Just drag a shortcut onto the desktop, right-click, Properties. Then on the Compatibility tab, set it to "run in compatibility mode for:" and pick "Windows XP (Service Pack 3)". And also "disable display scaling on high DPI settings". See if that helps. It just might.
Try a third party installer like Installshield. I have a VB6 app which didn't install and run properly on Win 7 using the original installer, but I when I put it through a recent version of Installshield it now works fine.