イベント構文は非常に便利なものですが、直接呼び出すとnullである可能性があるため、C#では必ずnullであるかのチェックをしなくてはいけません。
ただしVBの場合には構文的にRaiseEventを強制されるのでその分コーディングミスが少ないと言えるでしょう。
C#
if (this.xxxEventEvent != null)
{
this.xxxEventEvent();
}
VB7~
RaiseEvent xxxFocusEvent()
最近はVB7.1をやっているので、VBのいいところを発掘中