Ob ein Fehler kommt oder nicht hängt meines Erachtens nach davon ab, ob hinter dem Speicherblock noch ein Stück Speicherbereich kommt, das schon von deinem Programm alloziiert wurde. Jenachdem, wie die Speicherverwaltung gelöst ist, kann also nach dem array noch eine andere Datenstruktur oder überschüssiger Speicher liegen, dann sind Adresszeiger in diesen Raum gültig und die Fehlermeldung bleibt aus. Zu Fehlverhalten kann es trotzdem kommen, etwa wenn man ein dynamisches Array ausliest.
edit: himitsu war mal wieder schneller