MS5541 depth sensor communication

You really should consider creating functions to reduce memory e.g. reset()

Pressure is wrong and increases with every new measurement. Any thoughts?

Can you post a sequence of values you got?
Is the difference between two consecutive readings (nearly) constant ?

Formulas in the code are "quite complex" but I see no reason in the code.
Can it be that the sensor does not reset properly?