I have the following method in my DAL:
public void SavePlan()
{
    using (TransactionScope scope =
           new TransactionScope(TransactionScopeOption.RequiresNew))
    {
        CallSaveDataProc();
        CallLogMsgProc();
        scope.Complete();
    }
}
I have deliberately put a COMMIT Transaction in the CallLogMsgProc without creating a Transaction.  This results in a SQLException being thrown from CallLogMsgProc procedure and scope.Complete() never executes.  
However, in my database, I'm still seeing records saved by the first method, CallSaveDataProc.  Am I doing something wrong?