check out the versions of your definition. This may not be related to you subprocess problem, but i've noticed if you dont place a version in the process definition, it does not necessarily know the latest process definition. This has already been fixed by 3.1beta cause when you upload it automatically increments the versions. If you're still using 3.02 i suggest you include the version. you can do this by using the setVersion method in the process definition.
To get the latest version of the subprocess, you have to redeploy the master process as well.