The firing of FieldDefault should actually be done on PTRecord, as it is only done for those fields that are blank, and only then, after all fields with a defined constant/record value have been defaulted.