next if /^#/; ...; print significa que as linhas que começam com # não serão impressas.
Aqui, você quer
perl -i -ne 'next if !/^\s*#/ && /abra_kadabra/ && $count++; print' /tmp/test
Isso é o que você quer não para chamar next para as linhas comentadas se você quiser preservá-las.
Mesmo com sed para as implementações que suportam -i ( -i '' com FreeBSD e derivados):
sed -i -e '/^[[:space:]]*#/b' -e '/abra_kadabra/!b' -e 'x;/./d;g' /tmp/test
Onde usamos o espaço para lembrar se já vimos abra_kadabra antes.