I notice documentation dated February 2015 says this:
BlueZ also comes with conf files that let you specify some of the profile features (input.conf, network.conf, and proximity.conf) plus a more generic conf file (main.conf) that lets you specify name, discoverable and pairable timeouts, and other settings. These configuration files, which are located under /etc/bluetooth on an Intel® Edison device, are loaded at the Bluetooth daemon’s boot time (when the bluetooth systemd service is started). If you modify any of these configurations, you will need to stop and start the systemd Bluetooth service to activate the changes.
I also reviewed the release notes and find nothing there indicating that main.conf is being ignored.
Maybe I was imagining that it ever worked. Anyway, I added the following line to my startup script in init.d
hciconfig hci0 piscan