I have had the experience where transferring a set of rows using IRowBuffer from a table in a MemoryWorkspace to an identical table in a File Geodatabase caused fields with NULL values to be 'left out'. All the field values after the field with a NULL value were shifted to the left.
The resulting FGDB table ended up with a single character text field containing a 40 character value. Nothing crashed and no exceptions were created! The last (text) field in the row had a piece (about 15 characters) of the second-last field inserted in it.
If I changed the fields with NULL values to have a value then everything copied ok from the memory table to the FGDB table. If I did the same copy (with NULL values) using IRow and assigning the field values individually then it all worked ok. If I did the same copy using IRowBuffer but without the memory table (eg copied from the source of the memory table) then it all worked.
The only solution I could find for this problem is not to use IRowBuffer when copying from a table in a MemoryWorkspace.