At the moment, there's only 1 workaround for this. You need to set it from the Opened event call. Something like this:
AddHandler yourTD.opened, AddressOf yourTD_Opened
And somewhere add something like this:
Private Shared Sub yourTD_Opened(ByVal sender As Object, ByVal e As System.EventArgs)
yourTD.icon = TaskDialogStandardIcon.Shield
'And if you prefer you could also
'yourTD.FooterIcon = TaskDialogStandardIcon.whichevericonyouwant
End Sub
CHeers.