you missed the /i switch, so your example is case sensitive greg.
eregi is preg match with /i – though it seems like regex would be a more modern way.
I may be wrong, but I am testing this (line 81-83 – /wp-content/plugins/gravity-forms-constant-contact/api/cc_class.php) :
protected function isValidEmail($email){
return preg_match("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i", $email);
}