The fact that datatype is a property of the datum, not a property of the variable adds some extra checks whenever the datum is being used.
Also, support for dynamic and syntax scopes adds some difficulties.
In a nutshell, in an ordinary non-dynamic program there is a huge increase of performance. In a very dynamic program (which modifies itself at run-time) the performance could be worse than that of an interpreter.
Fortunately, most programs in Logo do not use the dynamic features of the language, like constructing a list of command and then executing it. So, a compiler gives a pleasant speed improvement for the average users.
Unfortunately a compiler for Logo (and Lisp) will put its developer in the programming hell, so if Lutz is a software masochist (like me), he can give it a try :)
Making a compiler for languages like C and Pascal is a lot easier and straightforward.