So, I found this support thread about manually restoring missing database tables after corrupt upgrades.
I used the excellent howto in there for restoring my link_count using phpMyAdmin. I then discovered that that wasn't the only bad table. Turns out my wp_link2cat was completely missing.
So I added it with the help of the WP codex for 2.2.
I no longer get any errors on my links page. Fantastic. But there were a few entries on the codex that I wasn't able to find in phpMyAdmin. For instance:
Field "link_id" is supposed to have an Extra value of "FK->wp_links.link_id", and "category_id" has "FK->wp_categories.cat_ID". I'm not sure what these are, but I have a feeling they're pointers, because my Blogroll admin page doesn't show any available categories listed.
Isn't that how this version of WP is supposed to work? Assign links to the already existing categories?
Not sure if it means anything, but there's also no default link category anywhere (should be "Blogroll" I believe).
phpMyAdmin has a drop-down menu for the Extra option for those fields. There's only the "auto-increment" option available. Hmm, any ideas?