 
					
						
					
				
				
					@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.