Você obtém o mesmo resultado sem os zeros à esquerda.
Use o tipo de dados inteiro para comparar valores inteiros.
Você também pode converter os valores rapidamente usando cast:
Seu exemplo com o Google Cast:
select if( cast('00160001' as unsigned) between cast('0013001' as unsigned)
and cast('0023000' as unsigned),1,0) as test_a,
if( cast('00200000' as unsigned) between cast('0013001' as unsigned)
and cast('0023000' as unsigned),1,0) as test_b;