For reasons I don't quite understand, lame decodes an hmp3 encoded file accurately, as you describe, but fb2k ignores the tag info and decodes to the same length as the mp3. Similarly, fb2k reports the mp3 file length including the delay/padding whereas a lame encoded file is reported as the same length as the wave file. Interestingly, the little lametag program reports that the encoded mp3 file tag info only includes the version.
F:\Test-lame>lame --decode 101.mp3
input: 101.mp3 (44.1 kHz, 2 channels, MPEG-1 Layer III)
output: 101.wav (16 bit, Microsoft WAVE)
skipping initial 2209 samples (encoder+decoder delay)
skipping final 2243 samples (encoder padding-decoder delay)
Frame# 9784/9785 80 kbps MS
F:\Test-lame>lametag 101.mp3
LameTag - Reads the LAME tag from an mp3 file
Copyright (c) 2005 phwip
Release 0.4.1, compiled 2005-09-09
F:\Test-lame\101.mp3
LAME tags were introduced with LAME version 3.90, but
this file was encoded by an earlier version of LAME and
the header only contains a version string.
Encoder string: LAME
Version string: -H511?ð
F:\Test-lame>lametag 10.mp3
LameTag - Reads the LAME tag from an mp3 file
Copyright (c) 2005 phwip
Release 0.4.1, compiled 2005-09-09
F:\Test-lame\10.mp3
Tag revision: 0
Encoder string: LAME
Version string: 3.101
Quality: 93 (V0 and q7)
Encoding method: vbr new / vbr mtrh
Lowpass: 22,100Hz
RG track peak: <not stored>
RG track gain: -6.6dB (determined automatically)
RG album gain: <not stored>
nspsytune: yes
nssafejoint: yes
nogap continued: no
nogap continuation: no
ATH type: 5
Bitrate: minimal (-b) bitrate 32
Encoder delay: 576 samples
Padded at end: 1,572 samples
Noise shaping: 0
Stereo mode: joint
Unwise settings: no
Source sample freq: 44.1kHz
MP3Gain change: <none>
Preset: V0: preset extreme (fast mode)
Surround info: none
Music length: 8,352,387 bytes
Music CRC: 7BBD
Actual Music CRC: 7BBD
Info tag CRC: E8D6
Actual InfoTag CRC: E8D6
F:\Test-lame>
10.mp3 (lame encoded) and 101.mp3 (hmp3 encoded) are both encoded from 10.wav. On reflection, it looks like the lametag program also checks the 'Version String' and it may be that fb2k does the same and ignores the info if the version string is not greater than 3.90. But I am only guessing.