I was poking around with a elm327 and found that according with the type of application I use some were always returning the same response from the elm327 (the last executed command, which was the ATI (the version) in my case).
If I was using an application that send straight away what I was typing (like putty, screen) then it was executing the last command.
If I was using an application that send the command all at once (an cellphone application where you have to click on "submit" or it the "enter" key) (more technicaly: Something that will fillup the read buffer) then the command got processed as expected.
Settings I used:
Speed: 9600 bauds
Databits: 8
Stop bits: 1
Parity: none
Row control: None (in fact anything seem to work)
Command terminaison: 0A (Carriage Return; confirmed by a HC-06; seem to be the default for terminal application)
Version returned by my elm327 : v1.5