lost Indexes from Win IB 5.6 to Linux IB6

Hi
I try a move from Interbase 5.6 runnung on W2000
to Interbase 6.01 not certified on Linux Suse7.1.

Some tests give me strange results and I posted
some to this newsgroup. The problem is still unsolved.

1. I Made a backup on W2000 in transportable form
2. copy this backupfile to linux
3. restore it by IB6.

First try (explaint on another thread on this newsgroup) did
not succeed. Some indexes did not work. I assumed a bad
backup.

If so, how can I test a backup and can make a good one?

second try ( a backup from some days later ) seems to work.
Now go further in testing:

An Update

update kontierungen2
set umsatz=-2139187508
where Vorschlag=-2139133321;

on

create table Kontierungen2
(       Vorschlag           dom_Schluessel,
       ...
        Umsatz              dom_Schluessel,
        Gruppe              dom_Gruppe,
        FNKonto    dom_FibuKonto,
        constraint  con_Kontierungen2_PK PRIMARY KEY (Vorschlag),
        constraint  con_Kontierungen2_FK_FNKonto
                    FOREIGN KEY (FNKonto)  REFERENCES FNKonten(FNKonto),
        constraint  con_Kontierungen2_FK_Umsatz
                    FOREIGN KEY (Umsatz)  REFERENCES Umsaetze(Schluessel)
);

and with some triggers. One is:

create trigger Kontierung_UPDATE_Umsatz for Kontierungen2
AFTER UPDATE
position 2
as
begin
  if (new.Umsatz <> old.Umsatz) then
  begin
    update posten set umsatz = new.umsatz
    where vorschlag=new.vorschlag;
    if (old.Umsatz = 0) then
      update kontierungen2 set Umsatz = 0
      where Umsatz=new.Umsatz
        and Vorschlag <> new.Vorschlag;
  end
end;

needs much time.
Marathon 1.1 says that it uses the primary key, but shows
that the server went natural through 500000 records of kontierungen2.

Tests was made by
1. update,
2. meassure time and
3. rollback for the next meassure.

When I inactiveated the above trigger the expected
speed was reached. But this speed keeps fast
when I activated the trigger again.

Does anybody know what to do ?

Christian