I found this thread quite useful, regarding decimal rounding in freepascal/Lazarus.
This article also describes a unit somebody has written that handles decimal values more accurately (and also more like .net does (much as it hurts me to say this!))
ps: Comments and/or links to this article are most welcome!