ok hab den fehler gefunden:
detailsl.DelimitedText := '|' + StringReplace(mastersl.Strings[ndx],';','|;|',[rfReplaceAll]) + '|';
tja es wurde ganz einfach übersehen, den letzen string auch mit nem quoting char abzuschließen
tja da muss man halt erst nen tag suchen, und dan mit hilfe des forums und nem quäntchen zufall drau kommen!
aber danke leute für eure großartige hilfe