Every single system supported by Unity has different input handling. That's a fact. Just look at UIInput.cs script and note how many different #ifdefs there are all over the place. It's a fucking mess, pardon my french. I get extremely frustrated whenever I have to touch that clusterfuck, and is easily the worst thing about working with Unity.
Whew, now that that's off my chest... Have a look at UIInput's Update function. My guess is that after you click the submit button on the BB's keyboard, Input.inputString gets set to something, which leads to it being added to the input (line 670 has the check). Can you confirm that that's the case? If so, we'll need to ignore the entire section on Blackberry devices.