Hi Prashant
What we did is to run a cursor on the footprint and intersect each polygon with the boundary polygon.
If the intersection is empty (footprint outside boundary ) we just set some attribute otherwise we replace the current footprint polygon geometry with the intersection.
After this is done we run RemoveRasters where the attribute is set.
It works...
Thanks