1. Что есть ошибка 10053? (текст)
2. SetLength надо передать только количество элементов, размер записи передавать не надо!
3. Массив файлов тоже сделай динамическим. Тогда сначала передаём количество записей, потом сам массив. Принимаем в таком же порядке - 4 байта длины, и массив данных.
Вообще, я сейчас занимаюсь подобной программой. Если хочешь - стукни в аську (в подписи), скину то, что есть, посмотришь интересные куски. Только умоляю, не надо целиком копировать код - во-первых, это нехорошо (выдавать чужое за своё), а во-вторых, ни фига не разберёшься