I am sorry but this particular tool is unusable. I loathe using it and it fails miserably when I use it. It is just the wrong way to implement a gradient tool, and I have encountered so many problems, glitches and bugs using it. I wouldn't know where to start explaining and I am done wasting time on it, so let me just recommend that you do everything different.
I suggest you look at best practice in other programs and team up with real usability experts and start from scratch building a better gradient and fill editor.