The ASCII function clearly states it only handles valid ASCII values which are Integer Values and NULL which is a special value unto itself cannot be converted to an Integer thus it will always fail. So as a reminder here are the valid ASCII values
ASCII control characters (0-31 and 127)
ASCII printable characters (32-126) (most commonly referred to)
Extended ASCII characters (128-255)
The following is what you can do to fix your bug
CASE WHEN IncomingValue IS NULL
WHEN IncomingValue "IS NOT A VALID ASCII VALUE"
Note however, I put ?? because the ASCII function returns a valid ASCII Integer and I have no clue what you want to do with a NULL value for the situations when it occurs or what you want to do (or even how you determine it without it breaking) when you recieve a non-valid ASCII character as I am guessing the rest of your scripts or code associated with that field will not handle a non-valid ASCII value.
Also all this information was easily found if you had taken the time to google it. Further if you are going to use something make sure you fully understand how what you are using is going to work otherwise you will always be chasing your tail when unexpected things occur that you should have coded for upfront.