Moving from prototype to production

Now that I have a working prototype built with an Arduino, I need to begin building a larger-scale version of my project for production. Basically, the program just turns digital outputs on and off; however, I now need to go from a couple of components to about 1500. My question is: does anyone know of a piece of PC hardware (perhaps USB) that can supply that number of digital or analog outputs? Or perhaps a smaller number of outputs and a resource on building a multiplexing circuit?

Ultimately, what I would like to do is port my application to .NET and just control a bunch of outputs (again, preferably digital, but analog would work). Thanks for any guidance you can give.

Do the outputs need to be discrete, or can they be multiplexed?
If discrete, then shift registers are a common way to go. Daisy chain a whole mess of them.
At my signature link, there is a board with 12 s hift registers as an example to control 96 outputs.

If they can be multiplexed, then different methods can be used depending on the type of analog or digital outputs you need.