I have the same problem on my side (I use nginx), and i found a clue to understand the issue: In fact /var/log/ is not a real folder but a symbolic link, as can be seen with ls -all:
pi@raspbmc:~$ ls -all /var
drwxr-xr-x 11 root root 4096 Jun 2 20:12 .
drwxr-xr-x 24 root root 4096 Jun 2 20:09 ..
lrwxrwxrwx 1 root root 4 Jun 2 20:12 log -> /tmp
All the logs are put on the temporary folder, which seems to be purged at every reboot.
...However I tried to remove the symbolic link, then create a real folder /var/log/, and reboot the RPi and it changes nothing. After the reboot, the symbolic link is back again and everything has been cleaned.
A solution would be to recreate nginx/lighttpd folder at boot with a script... but it does not explain the root cause.
Another clue; it seems some files are removed because Raspbmc is considered as a "live" system, as mentionned here:
...however I have not much more information about this.
Has somebody has an idea to prevent the log files to be wiped without doing a dirty script? Thanks a lot!