Hi robdrye;
I couldn't repro the issue. I did my test with the following:
1. A parent table with a clustered primary key on 2 columns (1 identity, 1 set in the client)
2. A child table with an identity primary key with a clustered foreign key to the parent table described in #1
3. A child table with a clustered primary key on 2 columns (1 identity, 1 set in the client) with a clustered foreign key to the parent table described in #1
In all cases, the save was successful in 1 transaction.
What version are you using? I suspect that you might be using an older version and that the bug has already been fixed.