Checked the thread and this appears to be the same problem as reported by Cino :
I think the problem I have, dansguardian is starting before squid.
We've had a long weekend in the UK so I did some checking into how the start up tasks are set in BSD. Forgive me if I'm telling you things you already know but it seems BSD uses directives (e.g #PROVIDES) within the start up jobs to create a dependency order. The directives show what a daemon provides and requires, which in turn are used by rcorder to order the job starts.
Marcello uses the directives in the Dansguardian start up job but squid doesn't use them which results in a random start order at best. The way to fix this would be to use the native BSD system consistently but it seems that historically this hasn't been done. I can imagine a work around which alters the "squid.inc" file to copy a template start up script in the same way that Marcello does it and in this squid template include the standard directives hence dictating the start up sequence.
The other idea I had was to check for squid.sh in /usr/local/etc/rc.d and if it exists start it in the Dansguardian script. Something like this before the code to start DG:
if [-e /usr/local/etc/rc.d/squid.sh];
echo "#! /bin/sh" > /usr/local/etc/rc.d/squid.sh
As I mentioned previously, I'm no expert with BSD so if I've got this wrong please do correct me (as much for my education as others).