Muy raro que obtengas falso donde sí coincide.
Desconozco la función array_search(), pero, tratándose de dos arreglos unidimensionales y no asociativos, supongo que iría mejor con in_array()
Por otra parte, me parece que la variable
$archivo2 la estás sobreescribiendo con
$archivo2 = substr($sinExtension, -1); o, si no es la intención, entonces está mal usada en la comparación.