I think that there is one possibility missing in your list: If you need to access a database (engine) which can't be accessed by an API over http you could to buy a license of CDF Player Pro per seat (roughly priced a little lower than 10% compared to a full commercial mathematica license, probably cheaper if you buy many). You can think of that as a "Runtime Environment" of Mathematica, it will allow to run notebooks, CDF documents and packages with no restrictions applied, that means you can use DatabaseLink` to access the database and will not have any restrictions on inputfields (in CDF Player I think you can only have numeric inputfields). If you have a huge number of users, you can also consider the Enterprise version of Mathematica which lets you create CDF-Documents which are signed in such a way that they work in a free CDF Player as if that would be a CDF Player Pro. You should be aware of the fact that it needs some expertice to deploy your application in a way that non-Mathematica users can easily use them with that constellation (it's not really difficult but it is a little hard to find all relevant stuff in the documentation).
Whether or not Mathematica is a good choice for such an application depends on a lot of factors and it is certainly not possible to answer that questiong without having much more information. There are certainly good alternatives but my experience is that the main factor about success/failure of such projects is whether the authors/developers, operators (IT personal) and users support/accept the chosen technology. If someone in that chain dislikes the choice and wants to to proof his point, the project will fail. Unfortunatly Mathematica and CDF Players are not very well known as a platform among most of these groups so it will ususally take some effort to convince everyone in that chain that it is a good choice. I honestly would hope that WRI would show more effort to change that situation, but for the moment much of that burdon will be on your shoulders...