Wow, I really dislike haptic feedback, but anyway...You on ICS then did you do all the right stuff after wards like hard resets back to factory specs, if so, have you tried clearing cache, or just a simple reboot. This said, I'm on GB and my vibrate has been wonky ever since about the second month. Might be a moto issue re vibrate.
To clear cache: with phone off press and hold both volume keys and power on phone.
Press vol key down to highlight recovery, then press vol key up to boot into recovery, then you should see android icon with triangle, then press both vol keys.
Choose clear cache partition using vol down to select then then press power button to clear cache.
Highlight reboot/restart and press power and your phone will reboot.
No idea if this will help , but one never knows. At the least your cache is cleaned and refreshed.