I have modified Currency.php to round converted prices to the higher 50 cents by changing "return $price * $rate" to "return ceil(($price * $rate) * 2 / 2" as suggested by someone else. This works perfectly, except when calculating the limit for free shipping. Instead of using the same total that is shown on the screen at checkout and processed with the order (which is the sum of each rounded price), the free shipping module seems to add up all of the unrounded prices and then round the total at the end. This gives a different total and the free shipping limit may not be reached.
Any ideas how I can get the free shipping limit to be calculated using the sum of the rounded prices, rather than rounding after summing the prices? Thanks.