$wpdb->get_var – What value is returned when zero records are found?

First, you’re using prepare() wrong. Should be this:

$wpdb->prepare("SELECT Active FROM testers WHERE user_id = %s", $user_id)

Or even better (%d) represents numeric value as oppose to %s which is string:

$wpdb->prepare("SELECT Active FROM testers WHERE user_id = %d", $user_id)

If you have any debugging enabled, it will throw an error from your code. Which may make your location header not work properly.

Second, the get_var() function indeed returns null when there are no results.

Third, setting a location: header without actually exiting afterwards may cause your header to be overwritten by something else later.