How can I make AirFoil detect the speaker without rebooting the Mac?
I am not sure, but does Airfoil have a Helper application running in the background? Maybe you have to quit that one as well instead of just restarting AirFoil?

Also, do you have the latest version? I have just checked and the Release Notes on the Rogue Amoeba website have a bugfix in the latest release 4.6.2 from a few weeks ago that seems to match your problem:

http://rogueamoeba.com/airfoil/mac/releasenotes.php


  Airfoil now disconnects from remote speakers upon sleeping, to prevent error messages on waking.


Maybe that update can solve your problem?