Regarding the hex problem, there might be a limited number of skills (with bytes), but what if the following 4 zero elements (0x00) are also for adding skills?! Have you tried changing them??
DDbut rather something like this:
DD 00 00 00).
-----
That said, I'm not saying that there are no zero blocks in the executable at all; I found a rather large one, and it seems it didn't actually contain any information. However, I don't know if this is useful.