OK, some more comments:
1. Why don't you use an enum instead of s_rebuild struct? An enum has the advantage that it can be extended without the need to break the api/abi.
2. The names of the events continue to be horrible. I don't know what PREGEN should mean. It has a meaning in the context of your plugin, but not as a generic event emitted by the compiler plugin.
3. Check the style guide here http://wiki.codeblocks.org/index.php?title=Coding_style
and try to follow it.
4. Don't put LETARTARE everywhere. It would be removed before committing anyway.
5. Are you sure that you want to get an event when the pre-build step is executed?
What do you think about adding an event like cbEVT_COMPILER_STEPS_STARTED?
This event will be emitted before every different step (clean, build, pre, post build, etc).
Would this make building too slow?
Also please take a look at this patch, because I have very little understanding of the compiler plugin.