I have the same setup: ArcSDE 9.3.1, ArcGIS Server 10 and ArcGIS Mobile 10, Oracle 11g, custom mobile app.
The initial synchronization is working fine (when I first get the data from the server when my cache is empty). After that I cannot synchronize the data. I can neither send nor receive the new data.
If I use FeatureLayerSyncAgent.Synchronize(), I get an error saying "Underlying DBMS error [ORA-00942: table or view does not exist] [FDG.OBJECTIVE_10]". (the table actually exists)
If I use MobileCacheSyncAgent.Synchronize(), I get an error saying "NullReferenceException".
Is the 9.3 SDE causing the problems? Did you solve your synchronization without changing the setup?