Messages that are sent from a hotmail or yahoo account to gmail account #1 are not always (but sometimes) forwarded to gmail acct #2. That applies whether they are sent directly to the account or via an online contact form that directs messages to the account.
Of course, acct #2 is set up to forward all mail to #1; there are no filters. I have checked the Spam folder in #2 - they don't arrive anywhere.
So far the ones I have noticed that got stuck have used the version of the address with a dot in it, in the form firstname.lastname@example.org rather than email@example.com. It shouldn't make any difference according to the Gmail documentation, and I have received hundreds of messages addressed to the dotted form, including from Yahoo and Hotmail.
I tried to set up a filter to forward all mail sent to the dotted form to #2, but it wouldn't let me as all mail was going there already. I guess I can set it to filter those to another of my accounts instead.
I will avoid giving out the version with the dot in the meantime, but would like to solve this somehow as the dotted version is widely known and will be used for a long time by some people. I am doing some recruitment and have already missed out on some candidates due to this problem. Please let me know if you have any ideas.