Does the Construct game take time to load before it’s ready to receive messages?
It depends when you add the event listener in your code.
You might have a race between loading the parent page and loading the iframe. If one sends a message before the other is listening, it won't work (and will fail intermittently depending on how long loading works).
There are various strategies to deal with this - one for example might be to make sure the parent page is listening before the iframe is loaded, and then post a ready message from the iframe to the parent once the iframe is listening, after which the parent can safely post to the iframe. Another is just to post messages to the iframe regularly on a timer and send an acknowledgement back from the iframe once received, at which point the parent can stop posting.