Ich würde ie Methode
AddObject nehmen und die ID zusätzlich als Zeiger auf eine Datenstruktur mit dem Item selner ablegen. Dann sparst du dir das Gefrickel mit pos und copy. Desweiteren halte ich es für die elegantere Lösung - aber auch eben programmiertechnisch etwas anspruchsvoller.