The line is clear, the source of the service has the right to do whatever they want with it. Unless you want to claim that a company's property belongs to the people.
So I think in Microsoft's case I would argue that they have a) no legal or moral right to impose such and b) no effective mechanism to enforce such conditions. They make practical tools, and people may use those tools in whatever ways they see fit. To the extent Microsoft can limit this through a EULA, they are subject to all sorts of judicial scrutiny.
For example, I have a hard time imagining that a "you may not run a web server on this edition of Windows" would be enforcible. Client access license requirements might be in some cases but I don't know what the dimensions are that they would be.
The question with Craigslist only becomes harder because to interoperate you are interacting with Craigslist's infrastructure. This is of course covered arguably by a different set of laws which may give Craigslist a bit more freedom. But we have laws in many states that restrict what, say, shopping malls can require of people entering (a shopping mall in California, for example, cannot prohibit pamphletting).
I would like to see similar rules passed regarding the internet equivalent of shopping malls, to be honest.
If Microsoft decides tomorrow to say "if you want to write Free/Open Source Software, you can't use our API's" do they have a right to do so? What if it is competing with Microsoft software, i.e, "no use of our API's to build competing web browsers and office software" or the like?
I am genuinely asking because I think it's as clear a line as one might think.