I've done a project which is pretty much exactly what you describe here. In my case there are a number of jboss/swing app clients that also talk to a central jboss server. From trial and error the best way in my case to get it going (reliably) was a combination of JMS messages back and forth and database replication.
It all works though, you would just need to adjust for whatever hassles you app has
Are you using JBoss Clustering features? Also I liked to look of hsqldb, does that support the replication you speak of?
The main thing is that the appserver, and rdbms need to be as close to zero maintenance for the end user. Such as, no MSSQL or Oracle Db's.
When you Swing Client and Local JBoss are colocated are you forced to use the Remote Bean API or can you "fudge" it so the client uses the Local API?
Also, does your client deal with Entity beans directly or do you use more course grained Session beans?