Your error is a "feature", joking aside, all wifi cards have that problem. Windows os, macs os, phones, routers, and even linux os. Your problem is a handshake issue.
When you first connect to the router, you are given a specific set of instructions for each time the phone reconnects to the router. Now in the perfect world, the device and router should communicate for any problems that should change those instructions.
It never does.
The router, will think the phone is no longer there and close the port/ip/security hole. The wifi chip will try to use it with out asking to be reset. In the best case you have to wait for the 30-60 secs for them to reconnect, the worst case, it just gets rejected. This does not have anything to do with any given phone, device, os, or wifi chip. But what combo of wifi chip/device/os you have. Because some reset better then others.
To be honest, the wifi chip in the evo is not the best chip ever made, you cant expect it to be. If you use the chip with a specific router you will get errors like yours. On the other hand, routers like mine play perfectly nice with the same chip.
If you want to blame someone, you can take it out on the chip makers that produce chips with protocols that are not fully agreed to, and with users,for demanding that they get the latest, b/g/n connection with each device, before it becomes a full standard.
There is no fix for this, there is simply nothing wrong. The firmware and router you are using is not fully working with your phone. Chances are you have a older router, or a cheaper router with a few devices connected and gone into standby. Combine a old/cheap router with a wifi chip will throw errors right and left, the majority of them will just be recoverable. BUT coming out of standby never has worked for pretty much anyone. So dont feel bad, the iphone 4 does the same thing with older routers/cheaper routers. Just do a search, all you need to do is "fill in the blank device/os" wifi error. You will get the hint.