suppose the first one works because of the memory-alignment of structs. it's the first entry and thus starting at relative memory position 0x00... might work, is still wrong though.
Code:
function main() { LISTBOX* test = (LISTBOX*)malloc(sizeof(LISTBOX)); test.Active = 1; }