In my experience, two filenames listed in the LAME command line with one space between them tend to make the first file get saved as the second file. i.e., lame 01.wav(space)02.wav would generate an mp3 for the first file named 02.wav, and then it would go on to encode 02.wav as 02.mp3. The result would be 02.wav, which is really an mp3 of 01.wav, and 02.mp3, which is also an mp3 of 01.wav, with a different name. That is why I specified two spaces between filenames when using --nogap.

Anyway, I'm home now, and I've had a chance to look up the option in EAC that I mentioned earlier. Choose EAC Options... from the EAC menu, and then go over to the Tools tab. The option to enable is On extraction, start external compressors queued in the background. This will run your encoder (LAME in my case) as soon as the first track has finished ripping. The option comes set to a default of one instance of your encoder. Now, assuming the ripping process can keep up with LAME, you can use this to encode gapless mp3s during extraction.

I have had some trouble with this - mainly scratched CDs that EAC reads slower to make sure that it has correctly extracted the audio. As I said before, if LAME finishes a file before EAC has the next one ready... then a gap will exist between those two files when played back in order.