In your article, you listed the following scenarios in which someone would be sad they did things the wrong way:
- Changing the URIs of some resources in order to load-balance across servers, which is a lot easier if clients get those URIs via hypertext instead of from the protocol spec.
- Screwing up user authentication when you could have just used digest authentication.
- Having your service run really slowly because you can't just use Varnish to cache the cacheable parts. (Maybe you didn't actually say this.)
I can't actually find any others in your article. This discussion thread has added a couple more:
- Getting HTTP error codes from an intermediate proxy server instead of from the intended origin server, which will make you wish you had used those HTTP error codes to indicate errors in your app, so that clients would handle them correctly. (There are a lot of ways proxy servers can get involved.)
- Having random robots (Google Web Accelerator, web crawlers, etc.) trash your database by GETting URLs that have destructive side effects.
- Having people not able to explore your API with their browser.
What are the other scenarios?