If it didn't need to be checked again, how would the "Works with current version" possibly be even remotely reliable? They're rechecked to verify that they're still valid.
Yes, yes...quite right.
Despite the fact that it's checkwps...I wasn't thinking about skin syntax changing for some reason.
I think checkwps won't let new themes through with fonts that are included in the theme pack, but I don't think it invalidates existing themes that contained the fonts before this sanity check was added, which is fairly sensible as there is a chance that the author could have modified the font and kept the original naming (I'm not sure exactly how likely that would be, but it's a possibility).
EDIT:
And yes, a theme will fall back to the failsafe if it can't find a font it needs to display a skin correctly, this isn't the most graceful behaviour I'll admit but it is a lot better than the way it used to handle this before the failsafe was added.
The failsafe theme is pretty much the user indication that "something went wrong with this theme", a nice little splash explaining exactly *what* went wrong probably wouldn't be a bad idea though.
EDIT 2: "Why this can happen..."
There's a few ways a viewport can be told to use a font.
~X,X,X,X,0) <-- Always use sysfont
~X,X,X,X,1) <-- Always use userfont
There's also
%Fl(2~9,fontname.fnt) <-- Load this specific font with this identifier
~X,X,X,X,2~9) <--Display this specific font
This latter way will fail if it cannot load (and then cannot display) the additional userfont requested.
[St.]