всем спасибо, пакет разобран, ошибки учтены
а ошибки простые:
использование не к месту логических операций - вместо бинарных
контейнер BitArray пришлось заменить конструкцией вида...
Код:
int k = 0
for (int i = 0; i < blocksCount; ++i)
for (int j = 0; j < 32; ++j)
if ( ( updatemask[i] & (1 << j ) ) > 0)
values[k++] = ReadUInt32();
зы осталось описать все через хмл