The QContactAbstractRequest documentation should give clear advice about when (and how) to delete the request. Existing code seems to do this
if(self->isFinished())
self->deleteLater();
in a slot that handles the stateChanged signal:
http://qt.nokia.com/doc/qtmobility-1.0-beta/qcontactabstractrequest.html#stateChanged
That advice probably needs to say that you need to handle the stateChanged signal even if you are already handling the resultsAvailable signal. Otherwise you won't always have the chance to delete the request. That advice should then state if deleting in a stateChanged handler will prevent the resultsAvailable signal from being emitted.
Of course, I'd prefer to just call a deleteWhenFinished() method, reducing the amount of code I have to write.