Ok 1 more thing

[pascal]glDrawElements(TheType, Count, GL_UNSIGNED_INT,
Pointer(Count * SizeOf(DWORD))); [/pascal]

Make sure your int type is accurate. GL_UNSIGNED_INT is propably 32 bit where your data must also be 32 bit. So AV can occur if glDrawElements tries to read out of your memory.