I would go with the nearest revision in software below your ICode sticker. If you use a software to develop script with an Icode too new, it may not produce the expected results when loaded into an older controller. AFAIK, the ICode was backward compatible within major revisions.
I am not sure if your nameplate should be trusted, only if you broke the seal on new Rockwell Automation packaging...no red stickers... I would look for the Icode label on the (PROM?) chip in the S-Class. They are pretty easy to disassemble and reassemble.
Then, I would find the serial baud rate and go online, upload all setups, and upload a script before proceeding with any download.
You cannot upload a diagram, but your offline diagram may match the running program. The terminal window may warn you that the online program does not match the offline program when you connect. This is not necessarily always due to actual logic changes, but is a red flag to look for. Bottom line, to preserve the existing code, upload and save a script AND the setups and variables files so that you can restore an identical unit in the future.
For making future edits, I would be very careful to ensure that the running program does indeed match the one you are about to download.
It has been about 7 years since I saw Commander 4.03, but I do believe that there is a system variable even in the s-class, that will accurately report software revision level while online.
There are also things to be wary of, like being online in a tuning window and looking at offline values. (there is a thread here with pictures ~2005). And there are some tricks to getting those values in the online diagram reflected in an offline diagram, so that the tuning values and variable tables could be kept intact when writing new GML code. I really like GML for multi-tasking motion programming...the top down gui design, being able to visually see the tasks, encapsulate them into tidy little flow diagrams...cool stuff...just needed some polishing touches.
It is possible to reverse engineer a GML diagram from the uploaded script, and then generate a new GML diagram, but it is a tedious manual operation. Documentation on that script language was scarce, last I chek'd.
If you have a known, trusted, and working GML 3.9x diagram, then you should have no problems, but I still recommend visiting all the tuning values and motion dynamics pages and looking for that little green tickbox.