It will take the value of record you were last on, not the first record. If you were on the first record, then that's the value it will take.
Msgbox DMax("[ServiceDate]","[PlantServiceTbl]", [COLOR="Blue"]"[/COLOR][serviceid]= " & [PlantServiceTbl][COLOR="blue"])[/COLOR]
Msgbox [COLOR=red][B]DMax[/B][/COLOR]("[ServiceDate]","[PlantServiceTbl]", "[serviceid]= " & [PlantServiceTbl])
Msgbox DMax("[datedue]","[PlantServiceTbl]")
DMax(first part, second part, third part)