Sounds like you need to have an "Unknown" defination in your parent tables. We added a record ID=0 into our CODE table as a UNKNOWN code so all the FK field can have a default value of 0. As long as the business logic knows 0 means undefine, it can handle it correctly.
Stephen Lee
--------------------------------
Too much to code
Too little time
--------------------------------