the parts catalogue is a bit wacky on tanks - they're listing the same # up to 2001 on carb bikes, but there is a definite change that i thought was 1999, but the seat part number change is pre 2000 and 2000 on and that's possibly more accurate. seat and tank match.
all tanks pre 2000 should be the same i think, and the later tank varies where the seat sides sit (quite different) and also they're different at the front i think - i'm sure we tried fitting a tank to a carby m600 dark and it was wrong around the ignition switch/hold down somehow. don't recall.
efi and carb tanks year to year should swap in terms of fitment - i have an m900ie tank i'm going to fit to a 2000 m400 just because i got it complete and can make it work. carb tanks won't work on efi bikes.
parts catalogue shows a red m900ie tank is the same as s4, s4r, 400, 620, 800 so there's obviously no difference in under tank shape 2v to 4v.
and i know you can fit a late plastic tank to an earlier steel tank m620 with the right mount, etc.