Hi kktec, this is probably related to a new mechanism to execute multiple Grails commands through a single external process.
I.e. GGTS now tries to 'reuse' the external Grails process to execute more than one command if possible. This so commands would execute a bit faster by eliminating some startup costs. This mechanism is only activated for more recent versions of Grails. So that may explain why you don't get this for Grails 2.0.4 but you do for Grails 2.2.1.
The change in how commands get executed means that a 'command execution' isn't really a process in itself anymore but more of client-side Job waiting for the external process to do its thing and then 'call back'.
My guess would be that cancelation with the stop button isn't quite working the way its supposed or used to.
I'll raise a bug for that and investigate deeper.
If this really annoys you, which I imagine it would, you can still go back to the old command execution infrastructure.
Just go to "Windows >> Preferences >> Grails >> Grails Launch" and then disable the "Keep External Grails Running" option.
Kris De Volder -- SpringSource