I just found a file in the Arena chess client download section called engines.ini. The file is in 1264 lines, and contains a description of an engine for each line. For CECP engines as well as UCI engines.
A snip from the cecp part, looks like:
Gnuchess4=EMPO Gnuchess5=EO Faile=O
The letters right to the equal signs are keys to the options in the dialog at the right, which means the gnuchess 4 supports "Edit mode", "Move now", "Ponder" and "Opening Book". Gnuchess 5 on the other hand only supports "Edit mode" and "Opening Book". Faile won't even be able to load a game, as it supports no such feature.
Of course it is a a weakness that there is no field to tell if the engine supports "protover 2", which means that we still have to base the loading on timeouts.
But still there are a lot of good things. Now we've actually got _some_ information for those engines which does not support "protover 2", and we will be able to send a proper error message when trying to load a game, playing against Faile or similar.
Also the file can be used to identify engines at the users PATH. It might however require some smart text comparison algorithms, as I can see no absolute way to tell that the binname of "Gnuchess4" is "gnuchess" and the name of "Shredder Classic" is "ShredderClassicLinux". At least on linux ;)
I plan to convert the file into the engine xml format