Also there may be other date fields in the table which I don't want to include in the calculation.
Without knowing what that means, I think it would be pointless to work out something that gives you the max date over a set of fields, only to be told you don't want certain fields. However if you want to take a crack at it, maybe UNION the values from a record (as a recordset) and use DMax over that recordset. I don't see why you're only comparing 2 dates when you show 3, and in at least one desired case you've picked the 3rd?
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.