This is a visual display issue with currency fields in the system. Graphically, the system is rounding up for any currency field that is 3 or more decimal places long.
For example, $4.001 becomes $5.00 until the record is saved and the screen is refreshed, or until the user changes form tabs and comes back. In the latter case, the screen is also refreshed and will change back to the correctly displayed $4.00, but with 4.001 in the database. In the database and for all calculations, the 4.001 should be used as the correct value.