11 queries for XenForo, plus three for an add-on. I think that covers most of it. I'm having our guy check his account to see what's still missing. Prior to his inspection, though, I've restored his user ID to posts and threads, poll votes, private conversations, and trader feedback for the add-on. Because user was also on staff, I was able to tie reports and report comments back to the new user ID, as well as the moderator logs. (I am not touching the admin log--I need some of that information intact.)
The only thing I can't fully restore are profile posts, namely due to how the tables are set up. What made this job easier was having the member's username in some of the database columns in addition to user_id, so by searching on user ID 0 and the username, I could positively reassign many of these items. Because this user had deleted all of his profile posts a month ago (when we removed the feature), I had nothing to test it on.
For the xf_profile_post table, there are both profile_user_id and user_id columns, and I can only positively identify user_id with the username column. All I could do is restore the user ID where the profile_user_id and user_id columns are the same value, meaning, someone posted either a profile post, or a comment to a profile post, under their own account's profile posts.
I rebuilt counters and caches where needed, and I'm reindexing the search engine (which I haven't done in a few months). If all goes well, I think we'll have this user restored. He wasn't overly concerned about losing all the posts (even though there were over 21,000 posts from 18 years!) or conversations, but it was a nice surprise to get them back, as well as a challenge for me to figure all of this out.
I'm reluctant to post queries only because I won't be responsible for anyone damaging their database by using them. We all have a backup (right?), but it's still an inconvenience.