fare debug di quel codice è un disastro...

Prova a guardare il sorgente html generato, ma se il forum ha colorato correttamente la sintassi sembra che l'if sia all'interno della stringa, e quindi non viene interpretato.

Assegna una variabile $checked prima di fare l'echo e concatenala alla stringa.