A straigth forward solution might be to do the query in two steps. First use a spatial filter with the EnvelopesIntersect filter type, that gives you a cursor to all the polygons which could have their centroid inside the query Polygon.
Then in step two you take every Polygon you get as a result from step one and run a second spatial filter to check if the current polygons centroid lies within the polygon in question. Maybe not very efficient to use a spatial filter for each polygon-polygon pair, probably the IHitTest result bRightSide could be used for step two, if your polygons are not complex (holes...)