точно не правильно.
1. Создавать TNetHTTPClient нужно в execute потока, а не использовать лежащий на форме.
2. Работать с визуальными объектами нельзя из execute, об этом 100500 раз предупреждали.
Посему, правильно с технической точки зрения (упустим пока архитектуру) будет:
1. в execute создать сетевой компонент и выполнить запрос.
2. Распарсить запрос
3. Передать результаты в основной поток и уже в нем работать с ListView.
Полезно для правильного написания вынести код потока в отдельный модуль. Который НИЧЕГО не должен знать о модуле формы. Поток должен иметь событие, через которое он передает результаты своей работы куда надо. Само собой - вызывать это событие нужно в основном потоке, используя средства синхронизации. Форма при создании потока назначает ему обработчик события и выполняет в нем необходимые действия.