はまりましたよ。
コントロールライブラリをControlとつくっていて、規定の名前空間もControlですよ。
ライブラリにenumなんかを使ってプロパティつくって、それをASP.NETに参照させてつかうと、どうしても定義がありませんとなります。
なんでかなーとc:\windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\の中をさまよってソースを発見。
結局のところページのできあがったソースがSystem.Web.UIという名前空間が準用されるようで、その中にあるクラス名と同じ名前空間を設定するとバッティングします。
ControlにかぎらずPageとかもだめだと思います