For anyone that is interested, my problem was solved on another list.
Turns out the TRUNCATE command that I run at the beginning of the SP
creates and holds an access exclusive lock on the table for the entire
duration of the SP. I changed it to DELETE FROM and my problem was
fixed.
Full discussion here -> http://tinyurl.com/rp9jx