In case Hans doesn't come back, and anyone is interested, this is my solution to the problem based on Hans Passant's suggestion:
public static bool IsContainerControl(this Control ctl)
{
if (ctl == null)
return false;
MethodInfo GetStyle = ctl.GetType().GetMethod("GetStyle", BindingFlags.NonPublic | BindingFlags.Instance);
if (GetStyle == null)
return false;
return (bool)GetStyle.Invoke(ctl, new object[] { ControlStyles.ContainerControl });
}