I actually originally had the opposite problem, it was vibrating on every received text and I didnt want it to. I found that the ringer vibration and the text vibration are actually set in two different places.
Ringer vibration is in Settings>Sound & Display
If you want to change text vibration you need to open the messaging application
Go to the main message page where all your messages are displayed, dont go in any specific thread
my boyfriend had the EXACT same problem with his phone. We tried everything to fix it! Yesterday he went to best buy to have an invisible shield applied to his phone and asked the guy doing it for him if he knew anything about it. The guy told him its a small bug. He went to his message settings unchecked vibrate, rechecked it, and rebooted the phone and it works and has been working for two days now! =)
I fixed mine.
Download sound manager from the Market Place.
Open the program once its done installing, hit menu and go to the vibrate settings.
Under "Notifications" hit "vibrate whenever possible" (should be the first check box in the second section of that menu.
Hope this helps!
Except thats not a fix... That's a patch.
I shouldn't need another program to manage sound when it's built into the OS.
I don't want another program running in the background eating my battery life and hogging my resources... there's got to be another fix. Is hard-reset all we have left?