If multiple "cache_dir" tags are present in /etc/squid.conf, the init script used to control squid (/etc/rc.d/init.d/squid) breaks down due to the binary test of $CACHE_DIR. This assumes one cache_dir only. In fact, this test needs to be a for... loop over all the values of CACHE_DIR, and run the "init_cache_dir" mode if *any* of them are invalid.
Try using my squid-rhcn RPM from http://developer.redhat.com/rhcn/browse/rpm2html/Networking_Daemons.html (They are _not_ produced by RedHat)
fixed in the next squid release (2.1.PATCH2-2...)