Aurel,
You seem to confuse different and irrelevant topics.
1. DWORD, int, long will stay 32-bit on any platform and will thus misalign your structure declaration on 64 bits if you use such declarations for the fields that are designed by MS (not by you or me or Charles) to store pointers. OTOH Oxygen's SYS will automatically expand to 64 bits on x64 and will keep the structure aligned exactly as MS requires. Get used to writing MS-compliant code to avoid booby traps you otherwise install for yourself throughout your own scripts.
2. There are certain operations that are valid only for SYS but not for other integer types. And this doesn't depend upon how long ago you came to this forum. You success here depends entirely on what your background knowledge was when you first came here, and how quickly you're prepared to learn from the mistakes you make.
3. I do not question Charles' rules and I really need none of your nuzzling. If you don't understand why I'm really putting my questions to Charles, then ask, and I will tell you: I'm evaluating if Charles' recent mods to Oxygen are sufficient to invest my time and effort in writing apps for the O2 environment it obviously needs -- in the style I find most efficient. Otherwise I need really little help in finding my way around floats, integers and pointers in any language.
My response isn't intended as flaming. We had pretty nuff of that in the past. You were curious why your structures are so lopsided -- I answered. Jose presupposes you can read C prototypes but I know you can't. That's why I'm trying to explain where everybody else would just RTFM you.
If you don't want, or aren't prepared, to listen to my explanations -- well, then just keep on pouring your sorrows out into the majestic silence. Good riddance.