A strange error, and how to avoid it

Yesterday I found a simple program crash at Application.CreateForm. Stepping
through all instructions up to that point didn't help, since no code existed,
that could be executed and cause some consequential error.

After some time I happened to find out, that I had redeclared a TLabel class in
some unit. That declaration resulted in a garbage address, jumped to by
Application.CreateForm.

Does anybody know about a "spell checker" for Delphi code, that can detect the
abuse of predeclared names? <gd&r>

DoDi