convert xz59.tif -opaque "rgb(48,48,48)" -colorspace RGB -type TrueColor xz59_blue.tif
put -fill before -opaque
use gray(48), though rgb(48,48,48) will work unless your image has transparency. Then use graya or rgba.
convert xz59.tif -fill blue -opaque "rgb(48,48,48)" -type truecolor xz59_blue.tif
you should not need to add -colorspace as the output will be sRGB, when you specify -fill blue.
You may want to post a link to your input image for us to test, if the above does not help. Are you sure your input image has exactly graylevel=48 in 8-bit equivalent? If not exactly that value, then you may need to add -fuzz XX% before -fill.