In your detectevent.jpg example the problem is likely due to the fact that you have the termination character disabled. This means you have to explicitly check how many bytes are on the serial port and feed that to the VISA Read. You can't just wire "500", as it doesn't work the same way as GPIB. Doing so will generate a timout event. If you enable the termination character then the VISA Read will stop reading once it encounteres the specified termination character. Also, the configuration, event enabling, event disabling, and close should all be outside the loop, as you don't want to keep doing this each and every time.
In the other example, the termination character is enabled, but it's not clear what you're wiring to the VISA Read for the number of bytes. I've attached a modified version of the Basic Serial Write and Read VI, but I'm not sure if it saved properly for 7.0, as I have 7.1.1f2. A picture of the code is also attached. You may need to play around with the timeout.