Maybe you're looking for [AllowHide][1] property? :) 

**Update**: I was able to hide a ContentEditorWebPart in my SharePoint 2010 environment. Maybe this may help you, here is the full list of properties of the webpart.

 ContentLink :
 Content : Content
 PartStorage :
 ContentHasToken : False
 Title : Content Editor
 FrameType : Default
 SuppressWebPartChrome : False
 Description : Allows authors to enter rich text content.
 IsIncluded : True
 ZoneID : Left
 PartOrder : 0
 FrameState : Normal
 Height :
 Width :
 AllowRemove : True
 AllowZoneChange : True
 AllowMinimize : True
 AllowConnect : True
 AllowEdit : True
 AllowHide : True
 IsVisible : True
 Hidden : False
 CatalogIconImageUrl : /_layouts/images/mscontl.gif
 TitleIconImageUrl :
 TitleUrl :
 DetailLink :
 HelpUrl :
 HelpLink :
 HelpMode : Modeless
 Dir : Default
 PartImageSmall :
 MissingAssembly : Cannot import this Web Part.
 ImportErrorMessage : Cannot import this Web Part.
 PartImageLarge : /_layouts/images/mscontl.gif
 IsIncludedFilter :
 AuthorizationFilter :
 ExportControlledProperties : True
 ConnectionID : 00000000-0000-0000-0000-000000000000
 ID : g_7762e716_abae_47f1_a4f6_fcafe0411f83
 StorageKey : 7762e716-abae-47f1-a4f6-fcafe0411f83
 Connections :
 UnknownXmlElements : {}
 SerializedAttachedPropertiesShared :
 SerializedAttachedPropertiesUser :
 CssStyleSheet :
 UseDefaultStyles : True
 Qualifier :
 ClientName : varPart
 Caption :
 Subtitle :
 Permissions : PersonalProperties
 BrowserDesignMode : False
 EffectiveTitle : Content Editor
 EffectiveStorage : Personal
 EffectiveFrameType : Standard
 AllowClose : True
 ChromeState : Normal
 ChromeType : Default
 ConnectErrorMessage :
 Direction : NotSet
 DisplayTitle : Content Editor
 ExportMode : All
 HasUserData : True
 HasSharedData : False
 IsClosed : False
 IsShared : True
 IsStandalone : False
 IsStatic : False
 Verbs : {}
 WebBrowsableObject : Microsoft.SharePoint.WebPartPages.ContentE
 ditorWebPart
 Zone :
 ZoneIndex : 0
 Controls : {}
 BackImageUrl :
 DefaultButton :
 GroupingText :
 HorizontalAlign : NotSet
 ScrollBars : None
 Wrap : True
 AccessKey :
 Attributes : System.Web.UI.AttributeCollection
 BackColor : Color [Empty]
 BorderColor : Color [Empty]
 BorderWidth :
 BorderStyle : NotSet
 ControlStyle : System.Web.UI.WebControls.PanelStyle
 ControlStyleCreated : True
 CssClass :
 Style : System.Web.UI.CssStyleCollection
 Enabled : True
 EnableTheming : True
 Font :
 ForeColor : Color [Empty]
 HasAttributes : False
 SkinID :
 TabIndex : 0
 ToolTip :
 ClientID : g_7762e716_abae_47f1_a4f6_fcafe0411f83
 EnableViewState : True
 NamingContainer :
 BindingContainer :
 Page :
 TemplateControl :
 Parent :
 TemplateSourceDirectory :
 AppRelativeTemplateSourceDirectory :
 Site :
 Visible : True
 UniqueID : g_7762e716_abae_47f1_a4f6_fcafe0411f83

And here is the PowerShell code I used (it's actually similar to yours C#, I don't see any difference, as soon PowerShell simply calls SharePoint object model):

 $w = Get-SPWeb http://localhost
 $wpm = $w.GetLimitedWebPartManager("default.aspx", [System.Web.UI.WebControls.WebParts.PersonalizationScope]::User);
 
 $wpm.WebParts[3].Hidden = $true
 $wpm.SaveChanges($wpm.Webparts[3]);

 [1]: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webparts.webpart.allowhide.aspx