After upgrading from gutsy to hardy I experienced this problem of hald not starting and avahi-daemon also not starting. I redid the symlinks for hal (12->24) and gdm (13->30) but that didn't cure the problem.
Starting hald manually indicated that it was failing while trying to open /usr/local/var/run/dbus/system_bus_socket. In desperation I symlinked /usr/local/var/run/dbus/system_bus_socket to /var/run/dbus/system_bus_socket. That seemed to cure my problem. I don't know why /usr/local/var/run/dbus/system_bus_socket is needed.
After upgrading from gutsy to hardy I experienced this problem of hald not starting and avahi-daemon also not starting. I redid the symlinks for hal (12->24) and gdm (13->30) but that didn't cure the problem.
Starting hald manually indicated that it was failing while trying to open /usr/local/ var/run/ dbus/system_ bus_socket. In desperation I symlinked /usr/local/ var/run/ dbus/system_ bus_socket to /var/run/ dbus/system_ bus_socket. That seemed to cure my problem. I don't know why /usr/local/ var/run/ dbus/system_ bus_socket is needed.