The change from name to id is a breaking change and it was implemented in DNN 5.0.01.
I have skins that are validating when using DNN 5.0.0 because the <a> tag is using name and not id. It does validate when name=1146 is used without any errors or warnings of any kind. The doc type is xhtml 1.0 transitional.
In DNN 5.0.01 it has changed to id= and this does break validation. This is not something that is being discussed, this was implemented. The 5.0.0 was a fresh install, and the 5.0.1 upgrade was applied to that, which then implemented this validation breaking change.
I do not like to modify core code ever for any reason, but that would be the only way around this issue without downgrading back to 5.0.0 which would be a pain if even possible without a lot of work.
Also, the implementation of the "id" instead of "name" did not add the phrase "module" before the numbers and that is the problem with validation, "id" is not allowed to start with a number. Which is a silly rule if you ask me and pretty pointless from my perspective but there must be a good reason for that validation rule.
So, anyway, yes, 5.0.01 did implement the <a id=1146></a> tag without the text before the module id number and it does cause validation errors, not warnings, and will not validate as it stands now without modifying the core code.
I hope they can address this issue in the next release and decide which method is going to be used instead of a combination of both which causes validation errors.