Russell, there is a Java Real Time specification currently going through the community process. Following provides a reference.
http://www.rtj.org/ Have to say I have not looked in depth to see how it works.
QUick question how do you guarentee something happens within a specific time period given the nature of java and the internet?
As to Java\VB, if you are going through a socket should not matter what the language\system is at either end as the socket is standard.
Might be an idea to find out if you can get Java to Java or VB to VB to communicate through a socket to find out whether its the Java or VB causing the problem.
Hope that helps
Phil