premesso che non sono un genio in VB, premesso che non ben capito cosa fa la funzione
BindGrid(dtlSottomenu, hydlblIDMenu.Value)
Io farei queste due prove:
sposta la riga
AddHandler dtlSottomenu.ItemDataBound, AddressOf dtlSottomenu_ItemDataBound
Prima della chiamata al "BindGrid";
Nella funzione "dtlSottomenu_ItemDataBound" referenzia il datagrid semplicemente con
Dim dtlSottomenu As DataList = CType(sender, DataList)
Per ora non mi viene in mente altro..... tranne che controllare la giusta sequenza degli eventi