Are you sure steam Achievements were available in 3.7 & not only in 3.7.1? I'm not sure when they were implemented to be honest & Simon or David overhauled the way it works for VS 4.x.
By the way you can query if steam is initialized like so...
if getProperty("steam_initialized") then
-- add some lines of code here
end
Alternatively if you would prefer to use a condition you have created in the editor then you could do something like this...
1. create a condition & name it "steam_initialized"
2. inside of the at start of game actions bit in the main game tab create an execute a script action & add this to it.
getObject("Conditions[steam_initialized]"):setValue( VConditionValue, getProperty("steam_initialized") )
& this will set the condition to true or false, which you will now be able to use for creating if condition based queries in the editor if you don't want to use the getProperty bit inside of each execute a script.
As for Steam & the dll. I think you just need to have the steam.dll file associated with the game in the root folder where the executable is located & it should take care of the rest itself. That's about as much as I know as I've not had first hand experience of releasing a game on Steam myself yet, but you could ask JoeRichardson who made Four Last Things & The Preposterous Awesomeness of Everything or you could try asking Jacob (Dilated) who made Paradigm, as all of those games have steam achievements implemented.
* edit: seems the old Steam functions still exist on the wiki. According to
this, the functions have existed since 3.6. Technically they should work, just fine.
Personally I would recommend making a copy of your ved file, upgrading to 4.2.5 & testing the copy of the ved file you just made in that to see if your game works correctly. You will however have to update the steam achievement & stat functions though as they were replaced in 4.x due to them now also covering achievements & stats for GOG Galaxy application too.