Кроссплатформенность достигается путем использования кроссплатформенных библиотек. Используйте возможности C++ Standard Library, изучите boost.
В частности, для работы с сетью и распределения задач boost asio.
Нужна или нет многопоточность - вопрос неоднозначный. Если производительности одного потока хватает, то лучше в нее не влезать. А для того, чтобы избежать задержек, использовать асинхронное общение с файловой системой и сетью, концепцию сигналов-слотов (boost asio, boost signals)