Instead of adding the image to the LI you'll need to add it to the anchor.
Also, the only way to get the HtmlGenericControl to emit a self closing tag is to override it's implementation and fix it.
All in all I'd say either generate the text the way you want it and emit that or look into the regular .net controls for those items.