It took me about an hour to figure this out, but I finally solved the problem. In order to make your phone vibrate upon receiving text messages you must make sure the physical button on the side of the phone is set to silent (orange mark). Also it will show a bell unslashed (silent mode off) and a bell slashed (silent mode on). After that part, set tones to each setting such as Ringtone, Text Tone, New Voicemail, etc... (Settings > Sounds). Please make sure the volume is set to the lowest either by the buttons (+/-) on the side of the phone or the volume bar in Settings > Sounds. EXTRA! Settings > General > Accessibility. Scroll down to Hearing, turn on custom vibrations. You can either set them to individual contacts or choose a vibration from Settings > Sounds > Scroll down to Vibration Patterns, choose a pattern. FYI: S.O.S. is pretty nice. I hope this helps out everyone.
If for some reason this does not work, please reset all settings and reapply these directions. This is 100% working for me. I just bought my phone yesterday. (11/07/11)