Ho provato a riformulare la tabella. Spero che vada bene. TI faccio notare che per le unità di misura utilizzo [tt]siunitx[/tt] con relativo comando [tt]\SI[/tt] che ti permette di stampare l’unità di misura opportunamente spaziata dal numero (oltre che un numero elevato di personalizzazioni, per quelle consulta il relativo manuale).
`
\documentclass[a5paper, landscape]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{booktabs}
\usepackage{units}
\usepackage{amssymb}
\usepackage{mathabx}
\usepackage{nicefrac}
\usepackage{array}
\usepackage{siunitx}
\sisetup{per-mode=fraction}
\usepackage[margin=0.5cm]{geometry}
\renewcommand{\arraystretch}{1.2}
\setcounter{chapter}{1}
\begin{document}
\section{LVL1}
\begin{table}[h]
\centering
{\scriptsize
\begin{tabular}{!{$\square$}p{3cm} p{4cm} cc p{2cm} p{2cm} >{\centering}p{1cm}>{\centering}p{0.5cm} c}
\toprule
\multicolumn{1}{c}{Incantesimo} & \multicolumn{1}{c}{Descrizione} & \multicolumn{1}{c}{Comp} & Lancio & Raggio & \multicolumn{1}{c}{Bersaglio} & Durata & TS & RI \tabularnewline
\midrule
Armatura magica & +4 CA & VSF & 1 a.s. & contatto & 1 creatura & \SI{1}{h/lvl} & V nega & —\tabularnewline
Blocca porte & +5 CD scasso & V & 1 a.s. & medio & Porta fino a \SI{3.8}{m^2/lvl} & \SI{1}{m/l} & — & — \tabularnewline
Dardo incantato & 1d4+1 colpisce sempre, \SI{1}{dardo/lvl} D & VS & 1 a.s. & medio & Max 5 creature, due a non più di \SI{4.5}{m} tra loro & — & — & Sì \tabularnewline
Disco fluttuante & Disco di \SI{90}{cm} $\diameter$, profondo \SI{2.5}{cm}. \SI{50}{kg/lvl} o \SI{9}{\litre} & VSM & 1 a.s. & vicino & — & \SI{1}{h/lvl}& — & — \tabularnewline
Ingrandire persone & +2 FOR -2 DES -1 CA e tiri per colpire, vedi Libro & VSM & \SI{1}{rnd} & vicino & 1 creatura umanoide & \SI{1}{m/lvl} & T nega & Sì \tabularnewline
Mani brucianti & 1d4/lvl (max 5d4), gli oggetti prendono fuoco & VS & 1 a.s. & \SI{4.5}{m} a cono & — & — & R \nicefrac{1}{2} & Sì \tabularnewline
Protezione dal… & Protezione dal male bene legge caos, vedi libro & & & & & & & \multicolumn{1}{c}{—} \tabularnewline
Raggio di indebolimento & 1d6 +1/lvlD (max 1d6+5) danni a FOR & VS & 1 a.s. & vicino & 1 creatura & \SI{1}{rnd/lvl} & T \nicefrac{1}{2} & Sì \tabularnewline
Svanire & Come invisibilità ma per \SI{1}{turno/lvl} & VS & 1 a.s. & contatto & 1 creatura toccata & \SI{1}{turno/lvl} & V nega & Sì \tabularnewline
Unto & Rende unto un oggetto o un quadrato di \SI{3×3}{m} & VSM & 1 a.s. & vicino & Oggetto o Area & \SI{1}{m/lvl} & vedi libro & — \tabularnewline
\bottomrule
\end{tabular}}
\end{table}
\end{document}
`
Per il resto ho cambiato la prima colonna con [tt]!{$\square$}[/tt] perché questo aggiunge quello che gli passi come argomento nello spazio tra le due colonne senza annullare lo spazio (esiste anche [tt]@{}[/tt] che però rimuove lo spazio tra le colonne). Di solito si impiegano per aggiungere spaziature extra o modificare quella esistente. Inoltre, non compoare il quadrato nella prima colonna perché tu hai impiegato [tt]\multicolumn[/tt], che ne impedisce la stampa.
Ultima osservazione: [tt]\scriptsize[/tt] è un comando, non un ambiente. In realtà per come sono costruiti i secondi, funziona perfettamente il tuo custrutto perché [tt]\begin{scriptsize}[/tt] si traduce in [tt]\begingroup\scriptsize[/tt] (più altri controlli), mentre [tt]\end{scriptsize}[/tt] in [tt]\endscriptsize\endgroup[/tt] (con relativi controlli per l’ambiente). [tt]\endscriptsize[/tt] non è definito, ma il costrutto che lo crea è [tt]\csname endscriptsize\endcsname[/tt] che, nel caso in cui il comando non sia definito, lo rende equivalente a [tt]\relax[/tt] e non fa nulla, senza darti alcun errore. Tutto ciò è inutile (ma non dannoso) e può essere tranquillamente sostituito da [tt]{\scriptsize …}[/tt].