D5/MSSQL 7 "BLOB not opened"

I am trying to access the OldValue of a memo field (using cached updates).
If the value of the memo field has been changed I get a "BLOB not opened"
EDBEngine exception.  The example program below shows the problem (obviously
the dataset info will need to be changed to run it).

Can anyone tell me why it is happening?  Is it a bug?  Mine or Borlands?

Thanks in advance
Mark Chapman

==============================================================

unit bugu;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, StdCtrls, DBCtrls, ExtCtrls, DBTables;

type
  TForm1 = class(TForm)
    Query1: TQuery;
    DBNavigator1: TDBNavigator;
    DataSource1: TDataSource;
    DBMemo1: TDBMemo;
    Button1: TButton;
    Query1comments: TMemoField;
    UpdateSQL1: TUpdateSQL;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
  AString : string;
begin
  AString := Query1comments.OldValue;
end;

end.

================================================

object Form1: TForm1
  Left = 210
  Top = 106
  Width = 696
  Height = 480
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object DBNavigator1: TDBNavigator
    Left = 122
    Top = 25
    Width = 240
    Height = 25
    DataSource = DataSource1
    TabOrder = 0
  end
  object DBMemo1: TDBMemo
    Left = 44
    Top = 112
    Width = 185
    Height = 89
    DataField = 'comments'
    DataSource = DataSource1
    TabOrder = 1
  end
  object Button1: TButton
    Left = 258
    Top = 112
    Width = 75
    Height = 25
    Caption = 'Button1'
    TabOrder = 2
    OnClick = Button1Click
  end
  object Query1: TQuery
    Active = True
    CachedUpdates = True
    DatabaseName = 'R1020'
    SQL.Strings = (
      'select comments from tblBooking')
    UpdateObject = UpdateSQL1
    Left = 50
    Top = 37
    object Query1comments: TMemoField
      FieldName = 'comments'
      Origin = 'R1020.tblBooking.comments'
      BlobType = ftMemo
    end
  end
  object DataSource1: TDataSource
    DataSet = Query1
    Left = 14
    Top = 39
  end
  object UpdateSQL1: TUpdateSQL
    Left = 83
    Top = 37
  end
end