If that's all your problem was, a better fix is just
NumberProvider = Trim( Request.Form("NumberProvider" & row) )
If Len(NumberProvider) = 0 Then
TRIM() guarantees that you will get a NON-empty, NON-null value. If the form value really was empty or null, it converts it to a "" string. So now you can just ignore the empty and null test and check for the empty (length zero) string.
In general, it's a good idea to use TRIM() on all human input. Humans do often put a space before or after their values, often by accident. So TRIM() tends to fix many problems easily.