Thanks for this, it works!
For some reason, on my setup the bash shell does not search all directories in $PATH when invoked through CLL:RUN-PROGRAM. The solution was to set the path to "dot" explicitly:
(run-program "bash" '("-c" "/usr/local/bin/dot -Tpng")
:input fname
:output (concatenate 'string fname ".png")))
Now I just have to figure out why run-program does not find programs in all $PATH directories...
-Snorre