Is this behaviour the correct default for an UNO? If so, is there any way to prevent it from happening?

I'm writing a parser for a custom communication protocol and I'm using the LED a lot for testing but, basically, because each protocol message only sets a single pin high or low, the flashing actually interferes quite heavily with my testing.

We have had several reports in this forum recently with people with Rev3 Uno and Mega boards where the pin 13 LED has a mind of it's own when running their sketches which have no commands dealing with pin 13. There appears that might be a 'floating input pin' condition on the op-amp section that actually drives that led. A simple test is to wire a high ohm resistor (say 10k ohm or higher) from pin 13 to ground (a pull-down resistor) and see if the LED doesn't behave better. Another method if your not using pin 13 in your sketch is to simply just set pin13 mode to output mode and set it LOW with a digitaWrite() command in your setup function.