I do not like mediaTemple that much, I use them for a few corporate sites I manage. They have good ping times (= strong routes to major backbones) but their service is only

and their prices are double

.
Personally I like dreamhost for non-essential (like: my financial well-being does not depend entirely on the site's 99.999% uptime) quality shared hosting: right now it's unlimited storage and unlimited throughput for ~$10/mo. Their mysql servers implement query caching which may help you; not sure how your forum is setup though. Dreamhost is very forward about what their are doing and the status of their network (something that makes them seem less reliable, but in actuality other hosts widely have the same problems, they just don't report them). They do like to implement less hardened apps and optimizations which can sometimes take you offline, but most of the time you have to sign up to pilot such programs (where most of the problems happen. For ex: I signed up to be moved to a brand new set of servers in a pilot program and my site was offline for about 8 hrs due to a scripting glitch. None the less it wouldn't have happened if I didn't opt-in, but my hosting package got upgraded for free as a result of my willingness to participate. Doesn't bother me!)
There are some important considerations though: are specific queries running slowly? Have you modified the vBulletin "standard" package at all (any mods or add-ins? if so, what)? There are many various reasons why a server will perform slowly, but MySQL can be finicky and you must strive for a highly normalized database.
I think the first thing I'd determine is to run some control queries outside of the actual vBulletin source to determine how long they take to execute and if you can pinpoint a specific problem. Also, see if you can get the load averages from the mysql server; obviously if they are too high you know your host is overselling their capacity.