WFS Intersect Filter using a Polygon returns all features in Layer

Try with intersects:

   <ogc:Intersects>
        ...
   </ogc:Intersects>

You are using WFS 1.0.0. That WFS version is using Filter Encoding Standard 1.0.0 http://portal.opengeospatial.org/files/?artifact_id=1171 and there is indeed a typo in the standard. On page 17 the schema for filter capabilities is defined as:

Spatial capabilities are encoded according to the following XML Schema fragment:
<xsd:complexType name="Spatial_CapabilitiesType">
<xsd:sequence>
<xsd:element name="Spatial_Operators"
type="ogc:Spatial_OperatorsType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Spatial_OperatorsType">
<xsd:choice maxOccurs="unbounded">
<xsd:element ref="ogc:Equals"/>
<xsd:element ref="ogc:Disjoint"/>
<xsd:element ref="ogc:Touches"/>
<xsd:element ref="ogc:Within"/>
<xsd:element ref="ogc:Overlaps"/>
<xsd:element ref="ogc:Crosses"/>
<xsd:element ref="ogc:Intersect"/>
<xsd:element ref="ogc:Contains"/>
<xsd:element ref="ogc:DWithin"/>
<xsd:element ref="ogc:Beyond"/>
<xsd:element ref="ogc:BBOX"/>
</xsd:choice>
</xsd:complexType>

However, the same standard defines on page 9:

The XML encoding for spatial operators is defined by the following XML Schema fragment:
<xsd:element name="Equals"
type="ogc:BinarySpatialOpType" substitutionGroup="ogc:spatialOps"/>
<xsd:element name="Intersects"
...

Thus the name of the operator is "Intersects" and that's how it must be used in filter. However, WFS 1.0.0 compliant servers must advertise the operator as "Intersect" because it is written so into the corresponding XML schema. You can also see that for example GeoServer follows the standard and request http://demo.opengeo.org/geoserver/wfs?service=wfs&version=1.0.0&request=getcapabilities returns

<ogc:Filter_Capabilities>
<ogc:Spatial_Capabilities>
<ogc:Spatial_Operators>
...
<ogc:Intersect/>
...

In later Filter Encoding standard versions this misspelling is corrected and for example http://demo.opengeo.org/geoserver/wfs?service=wfs&version=1.1.0&request=getcapabilities returns the operator name as

<ogc:SpatialOperator name="Intersects"/>