First, we need an answer to kaizen's point. Do you have some .NET skills? VB or C#? If not, are you interested in putting some time into learning one of these languages? Are you already proficient in some language? Rightedge is a platform; while that makes it easier to do so, you still have to code the specifics of 'scanning', 'filtering' and 'alerting'.
As you know, IB limits you to just 100 concurrent market lines, so my guess is IB would serve well as the broker service but no so well as the source of quotes for a large number of stocks, say in the order of 1000 or so (though there are ways to do so with 'snapshot' loops). Opentick would do that (or perhaps Yahoo real time?). For scanning purposes it would probably suffice(?) to retrieve quotes less frequently than at the tick level? That would bring up the possibility of having a datafeed populated by looping over a list to retrieve free Yahoo data (not too frequently so as to not be abusive; perhaps alternate with MSN quotes?). --- There are two key questions here: a) how frequently is a fresh quote needed per stock for scanning purposes (versus trading puposes)? and b) from where can a large number of quotes be obtained?