follow up: the problem ended up being that the values were not technically Null, but zero rows from which to evaluate Null.
The solution was actually very simple and uses very little additional code:
(this tests whether a table is populated True/False)
Code:
Public Function textfile() As Boolean
Dim r As DAO.Recordset
Set r = CurrentDb.OpenRecordset("raw_text_file")
If r.RecordCount > 0 Then
textfile = True
Else
textfile = False
End If
End Function
Then use that Y/N to evaluate whether each count, sum, should occur or not.
Code:
Public Function PaymentSum() As Double
If textfile = True Then
PaymentSum = DSum("[field5]", "raw_text_file", "[field1] = 'PMTHDR'")
Else
Exit Function
End If
End Function