If you are stuck with "Retrieving hero list" you need to Alt-Tab, open the Task Manager in windows and end the "Agent" process in the list.
Once you do this and go back to the game the screen will change and you can select your Hero and begin to play!
It may not work first try.
Here is a post on page 3 from a guy it worked for..
"After the third attempt at this, it actually worked. Though unless you're able to get past the 317002 error code, you won't be playing either way.
It basically came down to getting the login status to "Retrieving Hero List". After ending the Agent.exe process you then alt-tab back into D3, cancel the login and try again until you can get the retrieval status.
May have been our luck, and maybe not. Either way, I've been attempting to log in for the last three hours and this has been the furthest progress I've come across. It beats Blizzard help anyway."
The agent process is linked to the Diablo 3's login process. I can only theorise that shutting down the agent process cuts the connection properly and somehow allows us to get into the game properly.
---Updated3--- Working for many people now
"Just got in on a second attempt of this method.
As soon as you get to the retrieval status, Alt+tab, end agent.exe, go back in, cancel the login and then try logging back in. it took me two logins to pull past it.
And when I say cancel the login, I don't mean exit the game."
If it doesn't work for the first time just exit diablo login until you get "retrieving...." kill agent.exe and wait 30-60 seconds if it doesnt work do it again and again. Worked for me after 3rd time.
Mostly problem on EU.