> you can't use private
> variables or private helper functions - everything is effectively global.
That borders on religious though. You can have the private variables & helper functions, you just don't have any way for the compiler to enforce it. A programmer that is going to #include every .c file, is going to use that to show weakness in the person that uses the private stuff ( i.e. you, because he wouldn't be so stupid & you obviously would or you wouldn't have mentioned it ).
Also build times are only really a problem if you write code that has bugs in it, so if you're worried about it then "obviously" your code isn't as good as the people that don't care.
Sounds like this guy is running scared ( well unless you really were a pain in the arse to him and didn't realise ), which means you'll take the fall if anything goes wrong. Especially if the delays in the project are due to you demanding the build system changes.
People never want to hear that they are wrong, especially in front of their boss. It's better to prove what you are saying is right to yourself first, instead of having an all out argument. Until you have an easy to use build system ( list of source files go in one end, makefile with dependancies comes out the other ) then you're going to get resistance to the idea. Management will probably see this as a waste of resources, so it has to be done in your own time. If you handle problems like that then everyone would win.
The worst time I ever had was with someone that was dyslexic, so he really didn't care at all about code readability. In fact by making it as unreadable as possible he brought you down to his level. The classic is commenting out lines of code that aren't needed ( including multiple page long functions ) and then checking them in to source control "just in case". Find in files doesn't care whether the code is #if'd or commented out & any work you do on the file requires you to read the entire thing to work out just which version you're supposed to change ( or in my case keep, as I'll dump all the dead wood ).