The more RAM you have, and have dedicated to MySQL, clearly the more index (MyISAM) and index/data (InnoDB) records you can have in memory, and thus avoid expensive and slow disk reads. That, as you probably already have surmised, is a no-brainer, and possibly the cheapest and easiest way to increase the performance of larger databases. Since you're not going to fit 1.3TB of data fully into RAM, investigate setting up multiple key caches if you're using MyISAM, and throwing large chunks of memory to the table indexes which get hit the most.
As for the operating system, is there a good reason for using Windows Server? Are you a MS shop running MS applications that also run on this box? If not, I might consider having a (much cheaper and better, IMHO) linux box house the MySQL database server, and getting rid of applications onto dedicated IIS or Citrix boxes. Admittedly, I have a little bias towards Linux because I have seen Windows servers crap out under heavy load much more often than Linux servers, but I'm not about to get into a MS vs FOSS argument here (let \. deal with that argument). From my experience, a single Linux server (with a good amount of RAM and a couple decent processors) should easily handle the load (user and storage-wise) you describe, particularly if tuned properly.
Also, so much of these type of performance and hardware decisions are dependent on the type of application which will be running on the server. For heavy write vs heavy read applications, different hardware choices are often made with regard to RAID setup and storage area networks. Depending on whether your application will be doing a lot of writing, you might want to check with MySQL network and some of the case studies for some best practices in that regard (it's very case-dependent though...). Lots of variables, lots of variables... :)
Jay Pipes
Community Relations Manager, North America, MySQL Inc.
Got Cluster?
http://www.mysql.com/cluster
Personal:
http://jpipes.com