That discrepancy was due to lack of floating arithmetic in DoDailyCrewPay. Adding one makefloat and a couple of point-zeros made the numbers match exactly.Both estimated pay and the value accumulated in CrewPayOwed are roughly correct (there is a little discrepancy that I haven't yet figured out).
@Pieter Boelen, I now have a version of CharacterUtilite with the most glaring bugs fixed and CrewPayOwed/GetEstimatedCrewPay/GetRaiseMoraleCost all made to use the same underlying routine. Tell me, if you want this version for a release or something. Otherwise I'd like to do more testing and a ... khm... little... cleanup here and there, and that can take another couple of days.