From what I understand, your procedure relies on the convention that the name of the font file has to be very similar to the descriptive name of the font; unfortunately, this adds unsafety to the procedure I wrote before (which is already unsafe), even if it shortens that procedure a bit.
I think that the only way to have a reliable check is to parse the configured name.
An additional C++ helper function, wrapped by Scheme, is highly useful IMHO (and maybe it should require few lines of additional code), but I wonder as well if a solution can be found for the last stable versions of LilyPond too. I have to meditate about it...
Best,
Paolo