Certifique-se de não estar ocultando nenhuma exceção da inserção ou da confirmação. (Como a restrição FK é adiada, você obteria uma exceção do commit em uma violação FK.)
Como uma sugestão de depuração mais geral, eu diria que use SQL Trace para que você possa ver exatamente o que está acontecendo.