adding lowbyte breaks it
i remember it now , if you really want to be sparing with flash space odd length strings must not have the ,0 termination
the assembler adds the 0 for odd lengths automatically. the code then needs to check lowbyte for 0-ness

if you add the ,0 you wind up with 3 nulls in a row to account for hence only a check of highbyte works