I've actually found the solution to this issue.

The record did get inserted into table C. It looks like the issue is with the Perl module I am using but it is related to the existence of triggers on the table. In other words, the MS SQL DB is doing its job, but when the information is returned, the Perl Module doesn't properly handle the information returned from the triggers on the table that fire.