The other day I noticed the DescribeSObjectResult.getRecordTypeInfosByID() method returns a map that will always contain a record type info with an invalid ID: the master type. It'd ID is really null, but in the map returned it's always assigned an ID of "012000000000000AAA" (012 being the key prefix for record types, and the rest of the data being 0s, then a checksum). The problem with this approach is that using that ID as a recordTypeId of an sObject always results in a runtime failure, when trying to insert the record:

System.DmlException: Insert failed. First exception on row 0; first error: INVALIDCROSSREFERENCE_KEY, Record Type ID: id value not valid for the users profile: 012000000000000AAA: [RecordTypeId]
This means that if you use these results in your code you need to explicitly check for that ID and replace it with null.