Nice post by Raymond Chen about pushing operating system limits, in saying that if you're pushing the OS limits, nesting things 255 levels deep, or adding more than 65k objects on a form, you're probably needing a bit of redesign. Definitely a good point, though he does not that that is a big 'probably' as I'm sure there are cases where programmers are needlessly hindered by random OS limits.
Case in point, a story from back in the day.
When I first embarked into the IT world I was doing tech support for the Real Estate board, and eventually a bit of programming. This programming was done in a basic-type language whose name I don't remember, and it was used to do screen scraping and data manipulation from a dial up program (ie: call in, do a search, get the results, format them, output to a file for upload to a different system).
One day they wanted me to move from the text based language to a different system, again, similar but slightly different. Many times I really needed to compare code from one program and use it in another... a simple operation these days, and it's pretty common to compare two source files at a time. In this system, instead of a nice system where you could open the code in notepad (or edit at the time), it was:
Granted, that's not an OS limit, but a application limit :)