First off, what version of Office are you using?
About the process:
1 - You doing this programatically, or manually? (as in, do you use the letters and mailings bit, and give the options each time, or are you using VBA/VB whatever?)
2 - How are you performing the rounding? using =round(VALUE, 2) , or a format (as in right-click on cell location, format cells, number)?
3 - Have you tried converting the values to text first? That often works well...use =text(VALUE)
4 - You mentioned that the value number of years is then a decimal...if you look at the number format, is it a decimal, a year, or a custom format?
Basically, it comes down to the fact that Word doesn't really understand formats (or so it seems), so it's best to handle the formatting from Excel (unless this is a stage in some kind of convoluted process where you're going to be using the Word document as raw data!)
Can you upload a copy of the source file, or at least give someidea of how the data has been calculated?
Hope you manage to get it sorted out...will have a glance back here during the week(or possibly today ).
BTW - My answers are all based on using Office 2003, and am currently working on an automated MM system for school letters, if that helps give an idea of where I'm coming from.