Ok, first off let me apologize, because I'm in the middle of changing development environments and so I'm not able to do pretty much any testing, debugging and the like at the moment. But if you take the example provided on Determining the reason for an itemEditEnd event
do you see the same thing happening as you see in your code?
Now I'm guessing and I could be wrong, that since you said you have a renderer attached you're checking to see what the user typed and modifying that as needed. If that's not why you're putting in the listener then let's try and get that understood. Also, I'm just wondering, is the reason "other" when the action that you're expecting to react to happens?
From glancing about in the docs it sounds like the itemEditEnd event gets fired any time the cell loses focus.
Oh and you might want to check some of the properties of the event in your debugger.
Just throwing some ideas out.