Hola Weke
Sin responder a tu pregunta, te daré un consejo. En el manejo de errores, es conveniente saber el error que realmente te da Delphi. Es más fácil capturar los posibles fallos del programa. Para ello, puedes hacer algo así:
Código Delphi
[-]
try
ADOCommand1.CommandText:='DROP TABLE ' + tabla_eliminar;
ADOCommand1.Execute;
borrada:=true;
except
on E: Exception do
ShowMessage('La tabla no se ha podido eliminar correctamente.'#13#13 +
'Mensaje de error: '#13 + E.Message);
end;
Es una buena costumbre