Q:

What happens with errors on Arduino during runtime?

If using Arduino, what would it do if I used code like this:
int status;
void setup()
{
  pinMode(13, OUTPUT);
}

void loop()
{
  digitalWrite(13, status);
}

What would thiscode do? Would the LED turn on? Would it damage the chip? When compiling in the Arduino IDE, it said it was fine. There are other issues that the compiler won't catch, but what will they do? One other example is doing "digitalRead();" while it is set as an output.
Note: Using Arduino Uno SMD edition R2.

A:

You will not damage the Arduino, but you cannot be sure about the output, since the value is not initialized. It holds whatever value the memory holds in its location (think of it as an unknown random value). Most probably though, it will be turned on, because digitalWrite sets the pin to high if you pass anything other than LOW (=0) to it. Look at Arduino's source code in wiring_digital.c:
    if (val == LOW) {
        *out &= ~bit;
    } else {
        *out |= bit;
    }

Regarding your other questions:
Reading a pin value returns PINx register value, which is the physical state (high or low) of the pin, regardless of its mode (in or out).
In general, it is really difficult to damage Arduino, and in most cases you need to apply some high/negative voltage on some pins to damage it.

