... When this is happening I am running sp_who2 active and do not see any blocking. Can somebody please advise me how i can track these procedures to see whether or not they are causing blocking which is in turn causing these time outs? ...
When a stored procedure that normally runs in under a second sporatically takes 30 seconds or longer to execute, then it's typically the result of some type of blocking.
You can turn on trace flag 1222 or use SQL Profiler to log deadlocks, a special blocking scenario where one process is aborted to allow the other to finish. The following article describes steps for tracing deadlocks and resolving excessive blocking, if that turns out to be the issue. http://blogs.msdn.com/b/bartd/archive/2006/09/09/deadlock-troubleshooting_2c00_-part-1.aspx
Even highly optimized T-SQL and indexes will take you so far. You may even want to redesign your application workflow so that this stored procedure, which you said gets occasionally gets executed thousands of times a second, is instead executed in small sequential batches.
"The universe is complicated and for the most part beyond your control, but your life is only as complicated as you choose it to be."