Geek,
Java, a virtual machine language, which dates back to the Burroughs OS of the '70s, is a cross platform solution. Howwever, as noted, Ant scripting, a Java addition has problems introduced in Win 7.
Also, Java threads, which run under the VM, are much easier to use than Win threads.
C#, a MS language, also has a multi-platform solution, Mono.
IBM calls Java a "program once, debug often solution." (There may be differences in the VMs that cause problems.)