Brion,
- You can't tell whether the update has been applied or not
I'm not sure it matters that much, as it affects special-pages only. Of course, having the toggle "use old schema" could be way to go. Non- wikimedia sites should run updaters whenever they update code anyway.
- You can't tell on-purpose blank entries from software-is-broken
entries
You can, by seeing non-blank entries for same page, together with a blank entry :) It is a matter of self-join, if you need to find such. On the other hand, software-is-broken entries should be resolved in any case, do we use empty/null entries or not.
- Various operations on the link tables may break in interesting ways
when encountering the blank entries
Thats where we fix them :)
A purpose-built table would be much more sensible.
The only problematic area is how application treats empty (or NULL) entries. The other concerns would exist in any case.