Warum das With?
es fehlt DataModuleArtikelAngebot.IBDataSetArtikelTemp.Next in der Schleife.
Beim wievielten DS kommt der Fehler?
Statt
for i := 0 to DataModuleArtikelAngebot.IBDataSetArtikelTemp.RecordCount - 1 do
besser
while not DataModuleArtikelAngebot.IBDataSetArtikelTemp.Eof do
Ich würde die Kopie durch ein
SQL-Statement erledigen.