I run a Win7 laptop with 64-bit OS. Most of the game works. Yes, this is surprising. But there are some things you need to do to get it running on Win2K or later:
Get the Application Compatibility Toolkit by Microsoft.
Run the 32-bit version, if you're on a 64-bit OS!
Microsoft ships ES2 with the "GameUX" fix applied. In case this doesn't work:
Create a new Custom Database
Create in it a new Application Fix, choosing DBSIM.EXE, VSHELL.EXE and ES2.EXE as the files and the fixes
EmulateJoystick
ForceWorkingDirectoryToEXEPath
GlobalMemoryStatusLie
Save the database and install it by right-click
Reboot
Play!
The only thing that does not work is a non-Gameport joystick (USB). Win7 doesn't recognize the Game Port anyway (MS removed the drivers), so you're out of luck for now. Currently I'm writing a wrapper dll for winmm.dll which changes the returned struct of the joystick function: with Win2K, the joy* functions of winmm.dll returned an expanded joystick structure which seems to make ES believe there is no joystick. More on this can be found in the WINE winmm source (joystick.c, lines 194 and following).