Да ты вообще в С++ не шаришь да.
В первом случае нельзя использовать смещение для void*, поэтому достаточно привести его к char* например:
return *((BYTE*)(((char*)bank) + offset);
Чтобы не взрывать себе моск можно писать типа такого:
BYTE result;
memcpy((void*)&result, ((char*)bank) + offset, sizeof(BYTE));
return result;
Со вторым еще проще:
int mvbank = (int)GetVertBank(mesh);