I would say to officially advertise it as _foo but to accept both _foo and foo. the form without a leading underscore can be used by mods that do support it, and if you target such a mod then you can get the mod to decide.
this would imply that the server should also mute any warnings generated about these known unknown fields when spawning entities, of course, for mods that don't implement it. there's already a few engines that just silence ALL warnings about unknown fields, I'm not saying ignoring all errors is a good thing, but if they're known by the client then they should be considered known by the server too.
actually, omitting the underscore in engines that don't support it may help serve to tell users that they're doing something wrong - like using an engine that doesn't support it - in a non-fatal way. so mapper's choice either way: completely silent; or warnings in some engines and potential for mods to work around it.
the problem with flexibility in general is that it means that there are more possible ways to use something. and more possible ways to use something makes it harder to give a definitive reference implementation that does everything 'correctly' (a flexible interface is an over-complicated monstrosity). in many ways, flexibility is the bane of compatibility - see csqc as an example of that.
remember that for each additional boolean option, you need to double your number of test cases. flexibility is complexity, and complexity is a nightmare to debug and test.
I still think it should support both.

.