HtmlGenericControl - это элемент управления, используемый для представления элемента HTML, поэтому он должен иметь имя. Вы можете предоставить один или, если вы этого не сделаете, он использует значение по умолчанию «span».
Если у вас есть какой-то текст, который вы хотите поместить на страницу напрямую, вы можете посмотреть на literalControl (http://msdn.microsoft.com/en-us/library/system.web.ui.literalcontrol.aspx). Этот элемент управления предназначен для использования для «элементов HTML, текста и любых других строк на странице ASP.NET, которые не требуют обработки на сервере».
Так что вы можете просто сделать
myUserControl.Controls.Add(new LiteralControl(myHTMLstring));
И вообще не нужно использовать innerHTML.