よく見かけるやり方としては、Designer 属性で制御するのではなく、
対象のプロパティを override または、new で上書きして、そのプロパティに Browsable 属性で非表示にすることでしょうか。
[Browsable(false)]
public override int HogeHoge
{
get { return base.HogeHoge; }
set { base.HogeHoge = value; }
}
コンテナとしての振る舞いが失われるのは、コンテナに書かれている Designer 属性の型が異なるからでしょう。
元のクラスの Designer 属性を注意深く確認してください。
# GroupBox であれば、GroupBoxDesigner。このあたりは GroupBox にカーソルを合わせて定義に移動(F12) でメタデータが表示され、
# そこから確認することもできます。