Thanks for the suggestions. It turned out that the cause was something else, which appears to be a bug in the tool, and so is worth documenting here for future users.
The input zone layer to the Zonal Histogram was a layer created from a selection from a source layer. That is, Layer2 (the input defining the zones for the Zonal Histogram tool) was created in a map by selecting 250 features from Layer1 (a complete set of US ZIP code polygons), then doing right click/Selection/Create layer from selected features. However, even though Layer2 has only 250 features that display on the map or show up in its attribute table, the Zonal Histogram tool went a grabbed all the layers from Layer1 to use as the zones! So instead of the expected 251 fields in the histogram table, there were about 30,000, and that is why no DBF or MDB table could be created.
The upshot: when using a map layer defined as a subset of a source layer, Zonal Histogram will use the source layer instead to define the zones.
p.s. my ultimate resolution to extract the data as required was to run the histogram, save output to a file GDB in the default format, write a python script that reversed the rows and columns of that huge zonal histogram, and write the table to a CSV file, which I could then manipulate in Excel. While a table with 30000 columns is almost impossible to do anything with, a table with 30000 rows is no problem.