Probably a bug, feel free to file an Issue/PR on github. I’m not positive, but I don’t see any obvious reason that p->reset() isn’t called in a couple instances.
The chain of code that ends up in the reload method is one where a config file must be loaded. The cpp_tests project does use this, but I would bet very few, if any, games use this feature. Therefore reload is never called, and thus the bug can exist without showing any issues.
My other thought is that maybe, based on a quick read through the code, the p->reset() call isn’t necessary for setting up most of the GL program’s defaults, but it was put in for almost every instance just for paranoia reasons.