-To get the full page content, you should use QWebElement::render() on the document element of the mainframe. QWebPage::render() has clipping by the viewport.
-You should use QImage::Format_ARGB32_Premultiplied
-About the crash, not much I can tell without a backtrace. I suggest you to give one here or to open a bug on Bugzilla if you think it is a proper bug.
-About rendering in threads, WebKit is not thread safe. Otherwise specified in the documentation, you should assume a class is not thread safe.