Hey there,
just in order to complete the thread:
Clipping the data frame works fine for me passing an IPolygon object to IMap.ClipGeometry using pMxDoc.ActiveView.Refresh() afterwards.
pmap = pMxDoc.FocusMap
pmap.ClipGeometry = pClipGeom
pMxDoc.ActiveView.Refresh()
Cheers,
Johannes