This doesn't instill me with confidence. As I mentioned I had to jump through crazy hoops to get input to work on different devices because Unity chose to handle each new platform completely differently, and what would work on one platform wouldn't work on another. Thats why UIInput is such a mess of #ifdefs. As I also mentioned earlier, check your "hide input" option. Leave it off. Don't hide your input. This should rely on OS input -- it tends to work better than when it's hidden.
The delete key is implemented by having "|" be there as text. If one frame it's there and the next it's not, it means the delete key was pressed. It's a hack, but also the only way to get it to work with hidden input.