I've read about quite a few folks (on 2.0.1 and 2.1, rooted and non-rooted) having issues with the vibrate notification ceasing to function for one or more applications. Despite the settings all being correct, it just won't work. In most cases, the phone *will* still vibrate for incoming calls.
While some folks have returned their phones for new ones, and others have had success using 3rd party apps (Missed Call, for example), digging around on a Motorola forum, and dealing with the problem myself over the past 48 hours, has convinced me that this is, in fact, a software problem - not a hardware one.
Android apparently has a quasi-hidden setting that manages the vibrate notification. It is possible (somehow) for it to get flipped to "do not vibrate" and once it is there, there doesn't seem to be any way (at least with the standard OS) to fix it.
Here's the fix. Download the free Sound Manager application from the Market. It has mixed reviews, but that's ok, you're only going to use it for one thing: fixing your vibrate notification. Install and launch the app, press the menu key, and select Vibrate Setting. I suspect that if you have been having vibrate 'issues', you will see that the notification setting is on "Dont Vibrate" [sic]. Change it to "Vibrate Whenever Possible" (or "Vibrate Only When Silent" if you like) and exit the app. You should now find your vibrate notifications working again.
Not sure what the cause of this problem is, but keeping this app around should take care of it.
Original solution was found here: https://supportforums.motorola.com/message/85815#85815