How (and when) to use the BFO button on an ADF?
Let me try to explain this from the radio perspective. 

In a regular AM transmission (A3E emission type), you have a carrier and two side-bands. The usual receivers use the carrier to demodulate the audio information in the sidebands. The spectrum looks something like this:

Note: Horizontal axis is frequency, vertical axis is amplitude.

In real-life, it would look something like this:

Note: Vertical axis is time, with present being a the bottom, horizontal axis is frequency, increasing from left towards right and amplitude is encoded in color, with dark blue/black being low amplitude and white being high amplitude.

The two sidebands are the wavy-looking structures to the left and right and they carry the audio information. The carrier is in the middle and can be seen as the bright white line, especially visible during moments of silence. 

When we want to send let's say Morse Code telegraphy over AM, we get the A2A emission type: Carrier and two sidebands, each carrying Morse code data.

Or in real-life something like this:

Here, we can also see the bright white carrier and the Morse code in the sidebands, with lower being a bit weaker than the upper.
Now, our AM receiver doesn't really know what's in the sidebands, the audio just goes to the speaker. So no special adjustments are needed to use a AM receiver for A2A emissions. 

OK, so what does this have to do with BFO? Well, BFO is needed when we want to receive carrier-less data using regular AM receiver.

Let's now take a look at the spectrum of a A1A signal:

Or in real-life something like this:

There isn't much to see, only the "carrier". However, if we take a look at a real-life recording of the spectrum, we'll see that the carrier is being turned on and off, with no sidebands.

Now, when we input that to our AM receiver, we won't hear the Morse code. Depending on the receiver type, there might be an audible lack of noise when the carrier is on, but the expected tone is not there, since the sidebands are empty.

The BFO (Beat-Frequency Oscillator) helps us there. It artificially re-inserts the carrier, so combination of the re-inserted carrier and the A1A signal reach the receiver. The receiver thinks it's hearing a regular A2A or A3E signal and just outputs the received Morse Code tone. On the spectrum, we see something like this:


So the answer would be to use the BFO with A1A NDBs and not to use it with the A2A NDBs.

Possibly useful extras:

Why the name BFO?
When two sinusoidal signals, with frequencies A and B are mixed together, the result is a pair of new signals with frequencies A+B and A-B. This phenomenon is called Beating. In case of radio, if the signals are close together, the difference can drop down into the audio spectrum. For example, beating of 353 kHz signal with 352 kHz signal will result (among other things), in a 1 kHz signal, which we can output to a speaker.

A3E/A2A power and spectrum efficiency:
The carrier and one sideband do not participate in the actual transmission of information and are therefore wasted power. Newer systems try to avoid using them, when possible, also saving space in the spectrum. However, the carrier simplifies receiver design.

A2A variants:
Depending on the region, the A2A beacons might have the carrier on all the time, as shown above, or might key the carrier as well as the sidebands. Furthermore, some might only have one sideband, and save some power through that. Regular AM receivers can receive signal with a carrier and only one sideband. This is called Compatible Sideband.

J3E and BFO:
J3E, aka Single Side Band is a refinement of AM which is mostly used on high-frequency bands. It eliminates the power wasted in the transmission of the AM carrier and the other sideband and also uses less spectrum space, which is in shortage on the high-frequency band. On the other hand  the receiver and transmitter are more complicated. In aviation, the upper sideband is currently used. An AM receiver with BFO can be also used to receive J3E transmissions. Here's a spectrum of that:
 

A2A and BFO:
Not  coming from the aviation field, I don't know how the exact settings on the instruments work, so some of these might not apply due to precise offsets and audio filtering, but in general, if you re-insert the carrier on an A2A system, one of the following will happen:
The reinserted carrier frequency matches the original carrier. In this case, you won't hear any difference.
The reinserted carrier has a slight offset from the original carrier. In this case, beating will occur. You should hear the Morse code identification properly, but you might also hear a low-frequency sound in the background, if the system is capable of reproducing it.
The reinserted carrier has significant offset from the original carrier. In this case, you'll be able to hear both the original carrier and the Morse code identification. Note that the audio frequencies might be shifted in unusual ways, depending on where exactly the reinserted carrier was actually reinserted.