While I do think what they have is amazing, a few improvements or things I'd have personally preferred:
Entering Booster Codes. Every time I enter a code, a pop up comes up saying "Gratz on your booster credit." The functionality should be; enter code, *tab*, enter code, *tab*, enter code, *tab*, enter code, *tab*, enter code, *tab* etc etc. Basically, you still have the small widget which says the code is correct, but without that blasted pop up telling me what I got. Surely they could tell me at the end after I hit redeem. I know what I'm entering because the physical code card is telling me. It's just frustrating at 50 codes later, that pop up comes up and It really makes the process twice as long in some folk's cases.
This program could have been done on a client base, much like YGO online Ver. 3. My friend believes it was coded with (I think he said) XML (I am oblivious to coding language, except for the fact that my mates who do code, associate Java with some of the most evil things on the planet). A client based program would give a lot more freedom - it wouldn't take up much memory, if it played out like it does now, and the frustrations of using a web browser based program would clearly not exist.
An example of such a frustration is a disconnect, then requiring a refresh - sometimes you get cache or history errors which effectively game losses you because you can't get back in on time. Whilst many of us take care of our computers and manage our data correctly so this doesn't happen (often) I can see families, and the less tech savvy, wanting to throw their computer out of the window. A client based program would tell you when you lose connection, and attempt to reconnect you automatically, OR you'd log back in where you were DC'd (Much like World of Warcraft or RIFT etc).
At least from what I've noticed about YGO online 3, is that it's light weight and extremely well done. I urge folks to check it out at some point - even if you don't play YGO, I'm sure there are youtube clips or whatever that can show you.
tl;dr: Pokemon TCGO should have been client based, not browser based. Would have taken more work to get it up, but the end result would have been about 1000x more amazing. I'm still happy with what we have though!
Food for thought.
EDIT: Another thing YGO online does, is have a timer on Search, Responses, and Turn Times. For example, when responding to a card (example; using a Power Spray), you are given 50 secs (This can vary depending on the tournament rules at the time) to undertake the action, or it awards you with a loss. I think in Pokemon it could be handled a lot more elegantly - If the timer runs out, you are forced not to take the action, and you are given a strike. 3 strikes would issue a game loss (I use Pokemon Collector and have 30 seconds to search the deck for 3 basics. If at the end of 30 seconds I have not completed the action, I'm forced to fail the search and am given a strike).
There is also a time limit on turns in some cases, but it only ticks down during idle time, not during search or response time, or when you're actually performing an action. Turn times are also generous, something like 5 minutes. For Pokemon it should be more.
Once again, food for thought.