zyl7,
One possibility (before I see any code) is that your code is still fairly large, even without the I/O, however during synthesis and implementation the tools may be removing unused logic, depending on how your I/O is configured. This would create the impression that the code is being bloated by the I/O, when in actuality it is just a large amount of code and when the outputs and inputs are removed, the logic is not being used for anything, and therefore not included in the bit file.
Regards,
Jared Boothe
Staff Hardware Engineer
National Instruments