@mickecarlsson
I do not think the actual problem is with writing the EEPROM, as the EEPROM.put function is used and this will Write any data type or object to the EEPROM.
EEPROM.put(1,totalMilliLitres);
as the totalMilliLitres is already an unsigned variable that should be good for up to ten digits.
unsigned long totalMilliLitres; // unsigned long max 4,294,967,294 on UNO/Mega
The only problem area i can see is the use of
volatile byte pulseCount;
which severely limits the pulse counts to 255 and whould be better as
volatile unsigned int pulseCount; // volatile byte pulseCount; byte max 255
More clarification of the actual problem is needed.