Sorry for the delay, J; I'm back now.
You say an ETL process collects the data, and then a VB script converts it into an .xls file. Then you write of opening the .csv—so does the VB script create an .xls or a .csv? Or put it this way: At what point is the .csv created that you are trying to open?
Here's the problem, if I understand it correctly: You have a .csv that includes one column with text values that can be understood as numerals in scientific notation. I've experimented and I can see no way to persuade Excel to treat such a column as text. The nature of the .csv format, as you no doubt already understand, is that it's plain text, so there's no way to tell Excel about any special handling for a particular column. And without knowing that, Excel insists on interpreting "123E7", even in double quotes, as 1.23E+9.
So it seems to me that you cannot deal with this by working with a .csv; you must have, or create, an .xls. I can think of three ways to do this:
1) You say that a VB script creates an .xls that is then used by a legacy app. You didn't say that the column is wrong in the .xls; so open the .xls rather than the .csv, and work from that.
2) Maybe you misspoke; maybe the VB script creates a .csv. If so, you can modify the script to create an .xls instead, so that the problem column can retain its text format despite the fact that it looks to Excel like a number.. Or you can copy that script and modify it to create an xls in addition to the .csv.
3) If for some reason neither of those options is available to you, then you have to write a VBA or VBS program that will read the .csv as text, and create an .xls from it. That's what my Friday 18:36 post is about.