The app or main thread never waits for anything when you call Wait For. Nothing bad will happen if iad_ReceiveAd is never raised.
You cannot call Wait For with two events. You can do something like:
Sub iad_FailedToReceiveAd (ErrorCode As String)
CallSub(Me, "iad_ReceiveAd")
End Sub
Now you can wait for iad_ReceiveAd and just make sure to always check whether IAD.Ready is true.