Even if you have the same TimeZone in your different running instances of the JVM, generally the TimeZone is set by default to a specifc TimeZone, and not to the operating system TimeZone set. If you save and retrieve date/time values from a database, the TimeZone in database could be (and often will be) different, so you obtain unexpected values loading and saving.
We also had some problems with dates and managed to solve them all changing all Date into Calendar (both of them are mapped to dateTime in wsdl). When using Calendar you should always be able to receive and parse the TimeZone, that is not specified in soap messages if you don't use Calendar (at least as far as I remember, in jbossws 1.0.1). JBossWS will eventually convert you time to UTC but it will tell you that it's using that TimeZone, so you shouldn't have any problems this way.