>>69
>これって、一旦、Hoge、BogeクラスのイベントをParentクラス内で受けて、呼びなおすしかないのでしょうか。 

そのほうが自然じゃないかな。
Parent側で複数イベントに対応して構わないならすこぶるシンプルになる。

private IHost Host {
  get { return this._host; }
  set {
    if (_host != null) _host.Notice -= _host_Notice;
    _host = value;
    if (_host != null) _host.Notice += _host_Notice;
  }
}
private void _host_Notice(object sender, EventArgs ev) {
  EventHandler eh = Notice;
  if (eh != null) eh(sender, ev);
}
public event EventHandler Notice;