1) readRawData должен возвращать кол-во считаных байт.
Reads at most len bytes from the stream into s and returns the number of bytes read. If an error occurs, this function returns -1.
А что вам возвращает этот метод? Что попадает в буфер? Покажите полный код считывания.
2) см.
bool QIODevice::seek ( qint64 pos )