Karlos1337

Posible solución en modo strict y usando JSLint (archivo de configuración añadido).
Un pequeño detalle para que tu solución esté aún mejor:

Aunque las imágenes están ocultas, si el usuario trata de arrastrar una casilla, la imagen se hace visible durante esa operación (puedes comprobarlo tanto con una pantalla táctil como con el ratón). Eso se puede evitar poniendo a `false` la propiedad `draggable` de las imágenes.

En tu caso las imágenes las estás añadiendo a las celdas directamente desde una cadena de caracteres usando la propiedad innerHTML. Otra alternativa hubiera sido crear objetos imagen con el constructor `Image()` y añadirlos a las celdas con el método `appendChild()`. De esa forma podrías acceder fácilmente a las propiedades `src` y `draggable` de los objetos imagen.