The MSI installers downloadable from python.org does not include Tcl/Tk header (not source) files (that are required to compile some packages like matplotlib). Does anyone know of the rationale behind not including them?
The windows installers don't include ANY source files. Simply because that's how windows apps work. It can be compiled on one computer and it will work on all. So windows versions of things like python and php come precompiled with all options enabled.
If you want the source files you have to download a source tarball or something.
Users, even on Unix systems, do not really need the Tcl/Tk headers to just use the Python interpreter.
If you were to wanting to embed the interpreter in another application, you only need the python headers and lib files (which are included in the installer). The tkinter module, which is what is linked to Tcl/Tk, is already compiled for you in the binary distribution, so your Python scripts can just use Tcl/Tk through tkinter...though you probably shouldn't in an embedded scenario. The reason being, your application can expose its UI features to Python through the Python/C API, and then you don't have a weird disconnect (visually and programmatically) between host-app windows and Python-source windows.
Long story short, the only real reason that I can see for needing the Tcl & Tk headers would be if you were trying to build the tkinter module from source, which pretty much nobody does on Windows, so they leave them out to save space.