Sry to resurrect such an old thread, but from my observations this (still) makes sense...
I've recently come across the issue that a decaultcontrol tag is seemingly being ignored mostly in some dialogs of my skin where controls seem to only be drawn after the tag is being read. That way there's seemingly no focus when the dialog has been opened, but it is there once any directional button is pressed. But sometimes it's not on the first control of a group, but remains on the same one as it was in the dialog before (e.g. when opening a few addon info dialogs after one another).
It looks to me that this bug is still there after all these years. But I've found a workaround that is working here reliably: adding a silent alarm as an onload that does what the defaultcontrol should do...
xml:
<onload>AlarmClock(WindowDialogFocus,Control.SetFocus($PARAM[id]),00:00,silent)</onload>
This onload that I'm using via an include with a param for the control ID to focus is working as expected here. It seems to be loaded
after the dialog has been loaded with all its controls visible already. This should be the way the defaultcontrol tag should be handled as well. The correct control (group) is being focussed
every time and the first visible control inside a control group is being focussed reliably...
Maybe this could still be addressed? In the meantime, this should work as a fix for everyone who might be wondering how to circumvent this issue.