What model phone are you working with? Did you try the newest firmware? What registration type were you using, and was the phone behind a NAT?
MWI seems to work okay with the GXP2140/GXP2160/GXP2170, though occassionally the MWI and BLFs will get desynced. Restarting Freeswitch appears to fix it, though it is a bruteforce way of "fixing" things...
I agree about the 95% good, 5% broken split, but the broken parts can be managed with a little effort. I'll ask people who have upgraded firmware and ran into issues on Grandstream phones if they wrote down what was troublesome (and what firmware they had before/after), and 95% of the time I hear back that they didn't write down what their issue was.
Often if they do recall what the issue was, it is fixed in the newest firmware, and if not opening a detailed ticket with Grandstream will get it rectified. I do not see how to practically manage software updates without at least jotting down what issues you ran into when upgrading, without that your SOL when it comes time to QA newer firmware/software!