It's probably to do with Plus! assuming that emoticon codes are 7 chars or less. Since your program allows invalidation of this assumption, Plus! 'misbehaves' as described.
Basically, it's the way things are. Maybe the next version will take your program into account