The padded spaces cause the value to be a string and formatting can't recognize a number. You could use Format function to ensure that the decimal part is part of the value passed to the Pad function. You can tack on the $ after the padding is done or modify the Pad function to do it there. Try something like:
"$" & Pad(Format(value,"0.00"), "R", 10)