For what it's worth, your question is on the boundary between the scripting forum and the general forum.
So from what I've learned thus far, to be complient with most suppliers, I must use some file format like postscript or eps,
This seems a bit peculiar. The obvious format for your document output would be PDF. PostScript and EPS seem weird choices, though certainly conceivable (well, I don't think you can have multi-page EPS files, but you can certainly have 20 EPS files and you can have multi-page PostScript files, but they tend to be output-device specific, though they need not really be).
What is your supplier doing with the file? Are they a printer? A specialty industry auditor? Or something else? If they're a printer, they should be asking for a PDF, I think.
Though it's also possible what they want is a less final output format that humans can deal with in other applications, such as Microsoft Word. A lot depends on the workflow. Anyhow, back to the main question:
and to do this, it looks like InDesign Server might be what I'm looking for.
Note that it's not a requirement that you use InDesign Server, and at $22,000/license, depending on your volumes, it may make sense to just use InDesign Desktop. The standard InDesign EULA doesn't let you drive its automation remotely, but if you have a human being walk up to a computer and start a script that reads 500,000 input files and produces 500,000 output files, I think that is in compliance.
Replacing your bullets with numbers:
1. Create a kind of IDML template using InDesign on a desktop computer
2. in our .net application, modify the IDML for each participant to personalize it (a lot of conditional code to remove sections of text, and inject numbers, etc).
3. Send each (or a batch is feasable) to the InDesign Server to prepare for publishing into postscript/eps files
4. and if feasable, also create a PDF of each because we need to keep a digital version of the document on the client's corporate SharePoint (for legal reasons).
#2 is definitely one way to do it. If you are comfortable manipulating the IDML XML in .NET, and it's not important for you to leverage InDesign's object model in your conditions (e.g., you do not need to know how many pages InDesign would set a particular table at, and that does not effect your decisions of what objects to place where), then this is fine.
If your batch data is fairly simple substitutions, you could use InDesign's Data Merge feature. But that's really just a mail merging feature and it sounds like you have large tables of data and it is probably not sufficient.
The way I would probably implement it is to write code for InDesign's scripting that starts with a template (INDD or IDML or whatever), and then instructions InDesign to place various items in various places, replace/remove conditional items, etc. This allows you to leverage InDesign's knowledge of how the page is laid out and to make layout-continent adjustments in your script. If you tried to do this in IDML, you would have to replicate InDesign's layout engine in your software which is essentially infeasable and at which point you might as well throw InDesign out the window and just use something like iText to produce a PDF directly.
That said, #'s 1,3 and 4 are all trivial.