1. Вы не написали, что такое TLevel2Head/PLevel2Head. Я так понимаю, что это TLevel2Pack без поля Data, и укзатель на него? Если нет, то я ничего тут не понимаю.
Если да, то структура TLevel2Pack - это пакет данных с заголовком TLevel2Head и данные переменной длины.
2. Тогда InLen - это, по смыслу (по второй проверке из if), полная длина буфера с данными , а откуда она берется и с чем она сравнивается в первой проверке - я без понятия, потому что нужного для этого кода не вижу.
3. На вопрос "как соотнести" ответ - взять указатель на массив (@) и преобразовать его в указатель на структуру (PLevel2Head(@RecData)^). Так что, если RecData - это буфер с "сырыми" данными (и см. п.1), то понимаете вы правильно.