Well, since he has windows and you have windows but i have mac, i think if you test it it will make more sense. Take a look at the bug report for my scenario in the comments
He said his looked exactly like mine, so it should act the same; though, it appears his does not!!!
Taking a look at your scenario now.
It appears that if a card from the waste (draw cards go to waste before they go into play) is moved to the foundation (where, hopefully, all the cards will end up { C, S, H, D }), it is not removed from the draw/waste card list; therefore, when the draw takes back all the remaining cards, it pulls back those cards that went directly to the foundation. The foundation still registers the card there, so you cannot replace the card there (cannot put an Ace on an Ace). I have not looked at the code as yet, but I think that now you might know what needs to be done to fix it.
Another problem is, if you have a tableau (one of the seven runs of cards in the main working area) that looks like {blueflip, blueflip, blueflip, red 7, black 6, red 5 }, you can grab the red 7 (or the black 6) out from behind the other cards and move it elsewhere. In other words, the cards above the card you select do not move with that card.
I know, thats not a bug, but something in progress.
So, if you could, take a look at my code? And i will move this discussion to "Fixing bugs in Solitaire"
Sorry I haven't replied, couldn't check Greenfoot yesterday :D. I really wish you could open the resources on windows like you can on mac, but I can't find the "bluej.autoOpenLastProject" anywhere. I'm still looking through the files and folders though.
I found it! Here's how to find it:
1. Go to %programfiles%\Greenfoot\lib
2. Right click "bluej.defs" and open it with notepad/notepad++
3. Scroll down to line 187, which says "bluej.autoOpenLastProject=true"
4. Change it to "=false"
Huzzah :D.
Also, I don't have to go "Project > Close" before exiting Greenfoot.
I was about to post Greenfoot\libs\bluej.DEFS around line 190. Beat me to it!!