Referencing your first capx, before you press return there is one text2 object offscreen.
When you press enter the first time another text2 object is created and 1 is added to it's paragraph variable. The first instance will still have a paragraph value of 0 since it wasn't picked when the add 1 action was run. It wasn't picked because when you create a text2 instance it becomes the only instance picked for the actions that follow.
So now there are two instances of text2. One offscreen with a paragraph value of 0 and one on screen with a paragraph value of 1. Now after that when you press return a second time both of your events will run because one instance has a paragraph value of 0 and one has the value of 1.
You could just move the text2 object instead of creating another and set it up like this:
https://dl.dropboxusercontent.com/u/542 ... fixed.capx
or this:
https://dl.dropboxusercontent.com/u/542 ... ixed2.capx
On a side note take a look at the 9patch object. With it you can reproduce the bigredtextbox object exactly using a much smaller image.