Marl,
The STR() funcitont akes 3 arguments, check the help file. They are the number to convert, the size of the string in characters, and the number of decimals. If you omit the other arguments you get a string with 10 characters and no decimals (thus your rounding). Try STR(CurrencyValue,10,2) or STR(CurrencyValue,10,4)