FWIW, you could just use COUNT instead of SUMPRODUCT(--ISNUMBER(...)) since COUNT ignores errors anyway:

=COUNT(SEARCH({"!","@","#","$","%","^","&","~*","(",")","_","+","=","{","}" ,"[","]","|","",":",";","'","""","<",">",",",".","~?","/","~~","`"}, A1))>0