When I used 9.3.1 I believe I had a similar issue. So when you create your domains, you need to set a default code value for the particular field in which the domain is going to be used in.
In other words when you created a coded domain you must make sure each field in which a domain is used in has a default value ( a code value).
Hopefully this solves your problem.