No conozco ninguna aplicacion prefabricada, solo en la que estoy trabajando

No te voy a decir en que consiste el concepto, porque veo que realmente tus conocimientos son bastante solidos, la solucion que usamos aqui es realmente la siguiente:
Base de datos remota
Capa Logica: manejada con librerias dinamicas(dlls) principalmente
La capa de presentacion: generada a partir de XML-XSL
Con eso queda tu aplicacion bastante limpia, obviamente esta tecnologia no es muy flexible en el aspecto de separar la presentacion y los datos, pero con .NET ya se resuelve mucho esto.
Salu2,