Plenty of software for the TWS API. NinjaTrader and ButtonTrader are just two of the commercial apps. TradeProject http://www.tradeproject.de/ and JBookTrader http://code.google.com/p/jbooktrader/ are just two of the apps written by individuals. And there is the Yahoo group on the TWS API http://finance.groups.yahoo.com/group/TWSAPI/
You may want to check out tradelink. It's open source, supports all major native order types (stop/limit/market) and most other order types. Has super fast simulation capabilities for testing offline, and it's broker neutral. So if you get a better deal with non-IB broker later on you can switch without modifying your code. tradelink supports 17+ brokers and data feeds. 300 users on community list. google tradelink for more info or tradelink.org
It's very interesting that it supports Genesis (Laser), Blackwood and Sterling. All of these are Prop trading firm platforms.
tradelink itself has live latency of .05ms or 50us. the brokers generally have differing capabilities with respect to latency.
Sierra Chart works great for automated trading and supports custom programming as well. I've used it for over 2 years so far with different automated strategies and it is very flexible and reliable once you learn how to use it. No complaints other than sometimes the pre-releases and occasionally new release versions break existing functionality so it is best to test versions extensively before using live. Their support board is a great resource as well.
You can program your strategies (Ninjascript) in C##. Please note tho that Ninjatrader is a Windows app (.Net I believe) even tho the TWS is Java and can run on Windows, Mac, or Linux equally.