Well a cross fader is only appropriate for dance mixes, etc
In general I will agree, but the cross-fader for winamp that I'm using has a ton of features and can be used with any music. I have it set in more of a gap-killing mode than a long-mixed mode which is what you'd expect with dance music. I like the results so much that I keep it set all the time.
Incidentally, all my personally encoded music is VBR and has been encoded with LAME 3.90alpha (seventh release I believe). I don't use any trimming software and my experience, even with 2.0b3 is similar to Tony's.
Incidentally, if a player causes a skip or pop because of ID3 info, then it's a poor implementation. This should be taken care of by a read-ahead cache. The header ID3, or appended ID3V1, for the next song should be parsed before the current song ends. Without some type of buffering there will always be too many variables that can affect the "gaplessness" of two songs. If you want a non-mp3, non-music example of effective buffering, ake a look at ACDSee image viewer sometime. It parses the header and reads the entire next image while displaying the current one. So when you move to the next image, pffft. It's instant.
I don't know exactly what the empeg guys have already incorporated to improve the track-to-track audible quality, but it's pretty darn good. Even going by stuff you've mentioned, to improve it significantly you will have to make sure that the audio at the end of one track does indeed match with that at the start of the next.
Of course, you can also make very long rips. And if someone were cleaver, they'd create an index within the ID3V2 framework that could be used to seek to different points within the track - obviously with software written to accomodate that feature.
Bruno