Kinda/sorta.
I went through a lot of queries that really didn't need to fetch entire tables and made them fetch TOP 50 or whatever amount worked, instead.
read_msg will be a complete rewrite.
Since it's the remaining major culprit, I expect to address a lot of different things with the rewrite: Stored Procs, forcing SQL to handle locks my way (using NOLOCKS where warranted), and using more-selective SELECTs. <g>
I'm not in a big hurry, though. I think enough of it's tweaked now to make the timeouts a less frequent occurrence, though likely not rare yet. I'm going to clear the rest of the stuff off my plate then dive into read_msg. Once I'm done with read_msg, I should be done with performance tweaks for a while and can knock out some bugs and new features before going back to the optimization thing. You know, mostly CSS and stored procs across the site.