Кстати, вот как сделано в UIB
procedure TSQLResult.ReadBlob(const Index: Word; Stream: TStream); var BlobData: PBlobData; begin CheckRange(Index); if not FFetchBlobs then raise Exception.Create(EUIB_FETCHBLOBNOTSET); BlobData := GetDataQuadOffset(Index); Stream.Seek(0, 0); Stream.Write(BlobData.Buffer^, BlobData.Size); Stream.Seek(0, 0); end; Тоже завалится, да?