Well after realizing it wasn't some core problem with my version of pd or tcl or my OS, I implemented a suitable workaround for the problem of displaying large arrays on-screen without having to pump tons of data to the GUI. Basically it's just a data reduction that every so often reads from the (invisible) source array and writes 0.1% of the data (interpolated) to the (visible) destination array. I've attached the PD patch (an excerpt from a larger app, but I think I've commented it enough to see how it should be used.
Can anyone think of a more efficient way to do this sort of workaround in PD without hacking C code?