Вам надо свой конструктор для класса WorldObjects написать, где вы будете инициализировать свои переменные, а то вы описываете динамический массив, а создать его забываете.
Код:
WorldObjects = class
list:array of Obj;
count:integer;
constructor Create;
procedure AddDot(x,y,z:integer);
procedure AddLine(stp,enp:coords);
end;
constructor WorldObjects.Create;
begin
SetLength(List, 0);
Count := 0;
end;
И потом по логике Count надо бы свойством объявить, т.к. возвращает по сути длину List.
ЗЫ: И еще, имейте ввиду, что динамический массив ведет отсчет от 0-элемента, поэтому list[count+1].name будет вызывать ошибку выхода за границы диапазона массива.