The QRubberBand man page says:
If you pass a parent to QRubberBand's constructor, the rubber band will display only inside its parent, but stays on top of other child widgets. If no parent is passed, QRubberBand will act as a top-level widget.
So at the risk of asking the obvious... are you passing in NULL as the second argument to the QRubberBand constructor?