I believe that finite scheduling of resources is managed by writing values to the ResourceTimeUsed table. The scheduling engine writes to that table during MRP based on the scheduling resource (JobOpDtl) for the jobs being scheduled. The equipID field does not trigger the writing of data to ResourceTimeUsed, even if the EquipID is linked to a resourceID used in production jobs. We have our full PM program implemented in Epicor equipment plans, and no maintenance job affects production scheduling unless the production resource is listed in the operation of the maintenance job. The fact that an EquipID can be linked to a resource is informational rather than functional when it comes to scheduling of the resource.
We are in 9.05.700C, and I do not know if that changes in Epicor 10.
The other option we have used to block a resource is to use calendar exceptions for that resource to define that the resource cannot be used for certain hours on certain days. The scheduling engine will avoid those hours / days for that resource when scheduling finitely.