Assicurati di non nascondere alcuna eccezione né dall'inserimento né dal commit. (Dato che il vincolo FK è differito, otterresti un'eccezione dal commit su una violazione FK.)
Come suggerimento di debug più generale, direi di utilizzare SQL Trace così puoi vedere esattamente cosa sta succedendo.