Все всем спасибо разобрался в новых Delphi XE и выше такой способ не работает и необходимо использовать так: System.Move((FList.List[0])^, (List.List^)^, (Self.Count) * SizeOf(Pointer));
А ошибка заключалась в том что при заполнении List'ов были пробелы в заполнении тоесть небыло адресов в списке. Но на delphi 5-2006 все было нормально
Да при переходе всегда много таких нюансов возникает поэтому и говорят все перед тем как переходить на другую версию проверьте совместимость всех компонентов.