I was listening to one of the Ignite keynotes, and I heard an executive say something about "if your app doesn't work, we'll help you fix it at no additional cost, or fix Windows." I had stop and rewind and check, and then go look around. Sure enough, there is an App Assure promise for Windows 10 and apps.
This isn't just for commercial software, but it lists custom line-of-business apps, third party apps, and more. Now, this doesn't appear to be for everyone. The eligibility for at last the FastTrack portion of this is 150 or more licenses of Windows, Office, etc. However, it is a guarantee that they will help you.
There's also a note that there isn't a requirement for ISVs building Windows 10 apps. To me, that means there's no good reason why more companies don't take advantage of it. I do think, however, that there's a missing component here.
Big parts of the Ignite keynotes, and in Microsoft's marketing and messaging, is about data. That should mean that SQL Server and CosmosDB ought to be included in this promise. If there are regressions or bad plans, I'd hope that Microsoft would help them fix things. Or maybe promise that the compatibility mode would insulate apps.
I know that execution plans regress, sometimes on the same version, and guaranteeing performance or a plan across versions isn't likely possible. However, I do think that Microsoft could provide more guarantees, perhaps with some caveats that if they need you to change code you will.
We all know that we need to test, test, test to ensure we aren't introducing regressions or other issues. Writing tests isn't a panacea, but it also isn't a project. It's an ongoing part of building any software, including database software. Many of us do this, but it becomes harder and more complex for ISVs that often deal with many versions. However, we pay lots of money, and I'd expect that they at least are supporting patches to existing software. I think that's part of an informal contract that they ought to believe in. And one Microsoft ought to provide more support behind, limiting major changes and breaking decisions to major versions.