To fix ENG-6666, make NValue cast operations produce un-inlined values

I agree the mix of returns and breaks is a bit clumsy.  I could refactor this method to check for VARCHAR and VARBINARY before the switch statement, so each case ends in a break.