title: How might VB6 prevent COM events being delivered (.net -> VB6 via COM)?
body: <p>So I'm writing a component in C# with events that needs to be exposed over COM to VB6.</p>
  
  <p>I've already taken all the steps listed <a href="https://stackoverflow.com/questions/2766656/handling-events-exposed-on-a-net-class-via-com-in-vb6">here</a>, and <strong>the events themselves work fine</strong>.</p>
  
  <p>However, <strong>something</strong> in the machinery of the app means that <strong>sometimes COM events aren't delivered</strong> (when multiple events fire in close succession, only the first gets through). I've got to the stage of tracing data immediately before it's raised as an event on the .net side and immediately after it's handled on the VB side. They are not merely being queued up, or conveyed out of order (would be (more) acceptable), they are raised but not received. All events are raised from the same .net thread. <strong>When I step through the code, they are all delivered correctly; in a bare-bones test app they are all delivered even "at speed".</strong> </p>
  
  <p>So some other part of the VB app appears to be preventing these events being delivered. Where should I start looking? Can DoEvents have unintended side effects, for example?</p>
  
  <p>EDIT: clarified the above that only the first of the batch is getting through.</p>
  
  <p>EDIT: restated case (originally COM wrapper was believed to be the problem)</p>