Oops! Silly me. I was looking at the wrong version of eForm. I have it installed on so many different sites now, and of course they’re not all the same. The version that is actually giving me trouble has this code instead:
case "email":
if ($isRequired==1 && $value=="") $vMsg[count($vMsg)]="$desc is required";
else if (strlen($value)>0 && !preg_match('/^[a-z0-9_.-]+@[a-z0-9.-]+\.[a-z]+$/',$value)) $vMsg[count($vMsg)]="$desc is not a valid email address";
break;
...so of course it is missing the "i" at the end of the expression to make it case-insensitive.
SORRY I wasted your time checking out a false issue!