I set the crossfade to 1 second. I also enabled crossfade when skipping tracks. In this situation, I can successfully crossfade by skipping as long as there is more than 5 seconds left in the current song. However, if there are 5 seconds or less left of the current song, then playing a new song does not crossfade; the old song stops immediately and the new song starts immediately.
For testing purposes, I then set the crossfade to 11 seconds. I found that in this situation, I could crossfade by skipping as long as there was more than 15 seconds left in the current song. Less then this and playing a new song would start immediately. It seems like whatever the crossfade is set to, the 4 seconds leading up to the beginning of the crossfade cannot be crossfade-skipped.
The reason this matters to me is that I use MusicBee to DJ dances. The last few seconds of many songs either fade out slowly or are quiet with the last notes ringing out. I would like to fade into the next song during this period, but if I do so 2-5 seconds before the song ends, I get an abrupt song switch which sounds jarring. One possible workaround I hoped would work was to use the "add silence to end of song" setting, but crossfading does not seem to take this into account.