If ZNC is relaying messages, it should not be sending echoes to the status window 2 connection, since the status window 2 connection has no idea about which messages were sent and is therefore not expecting echoes.
If ZNC is playing back messages to the status window 2 connection, so that it shows the same channel/query window contents as the status window 1 connection, then the behaviour seems fine.
These two scenarios are exactly the same to me. How do you think they are different?
The echo-message spec has considerations specifically for bouncers, and ZNC is doing exactly what the spec says it should: sending echo-messages to all connected clients.
With that in mind, is mIRC adhering to this?
Clients that receive self-sent PRIVMSG and NOTICE messages, MUST treat them the same way as if the client itself would have sent the message to the target.