Just in case anyone else has this problem, or if anyone would like to comment on this, here's the solution I've found.
Running '/etc/init.d/squid restart' from cron (setting it up in crontab) does not honor ulimits.
Configuring /etc/crontab with something like 'bash -l /etc/init.d/squid restart' does not work either (it doesn't seem to run at all).
However, creating a custom.sh script somewhere which calls /etc/init.d/squid restart, and then configuring crontab with 'bash -l -c /somewhere/custom.sh' actually works. I now see:
# squidclient mgr:info
File descriptor usage for squid:
Maximum number of file descriptors: 65535
Largest file desc currently in use: 1583
Number of file desc currently in use: 1576
Files queued for open: 0
Available number of file descriptors: 63959
Reserved number of file descriptors: 100
Store Disk files open: 0