Of course WinUAE is better than nothing (I still use it for prototyping and as my 'virtual' ECS/RTG Amiga) but it's no good when you get to the optimization stage of development (esp important for Classic HW).
Yes, both have strengths & as soon as you do something that will push the machine you need to be using both.
In your example you would always have to optimise it for running on real machines, whether you did that up front or at the end is sometimes irrelevant. Although I'd prefer to do it up front as it can have knock on effects. Like if you're going to write something that uses a lot of blitter and copper effects then again you're going to need to be testing that on real hardware more often because that could have serious consequences.
If you're starting out and writing something like a puzzle slide game, then actually getting something to run at all is going to be enough of a challenge whether it's fast enough on real hardware or not. Sometimes learning is about making mistakes and developing on WinUAE will allow you to make mistakes quicker.
I preferred geekgadgets gcc to sasc, it produced faster code for me anyway. Single stepping is quite useful though and although there was a commercial gcc based development environment, I never tried it.
For writing a real classic amiga game I'd be tempted to use devpac to write 68000 assembly.