But as ralmada has pointed out you are using an approximate numeric that is not intended for that purpose, so you have a couple of options:
1. Change your code to use appropriate data types such as numeric(10, 5) to get consistent output.
2. Leave the code as is, and live with it or upgrade to 2005/2008 and hope you don't get bit again.
Pick your poison.