Cambia invece la tua condizione in questo:
where (@LastName = 'All' and 1=1) or (LastName = @LastName)
L'idea è che quando @LastName
='Tutto' quindi la tua query non dovrebbe avere alcun filtro. La condizione 1=1 sarà sempre vera e insieme all'altro controllo dovrebbe restituire tutti i risultati. L'altro percorso che la query può intraprendere è il filtraggio in base a un cognome specifico, che dovrebbe escludere definitivamente i valori Null.
Aggiornamento:LA condizione 1=1 è ridondante. Puoi riscrivere la condizione come:
where (@LastName = 'All') or (LastName = @LastName)