Дважды проверьте, что это действительно производный класс UserControl, а не класс WebControl.
Этот застал меня врасплох много раз. Если вам нужно использовать WebControl для стилизации, вам нужно позволить вашему элементу управления реализовать INamingContainer. (Не волнуйтесь, это интерфейс маркера)
Так ..
public class MyControl : UserControl {}
Или
public class MyControl : WebControl, INamingContainer {}