I believe Microsoft put in a fix for this problem when they released SP1, but we suspect that this fix has not worked. We also have the same problem, whenever a user registers a partial carton quantity, where the base unit of measure is an each and the qty per UOM is 3 or divisble by 3 you get a rounding error, which is carried to the qty base. e.g. 1 carton (3 per) is ordered,but the system registers 0.83333 (2 ea). When you get to the shipment the qty base becomes 1.99998. you then have decimals issues throughout your inventory.
We currently have to manipulate the warehouse and value entries to correct this rounding issue.