to prevent this problem of having different domain definitions per user, I only use design domains. So if you check out a design, you have a complete design which is independent of local domain definitions.
as Joop said you can use Design level domains or you should put "System data types" directory under version control:
1) create directory on the server
2) checkout that directory
3) go to "Preferences>Data Modeler" and set "System data types" directory to directory created in step 2) - DM will copy content of current data types directory and commit it to server
It's good to close all designs after update operation especially when domains are involved.
I am using Oracle Data Modeler 3.2.20.09.87.
This is version of SQL Developer and the version of DM there is too old. You can use check for updates to upgrade DM to version 3.3.