¿Por qué te preocupas con que los usarios no pueden ver la fuente?
Si usas sólo PHP, es ejecutado al lado del servidor y sólo envia el output al cliente - no pueden ver la fuente menos que les dejes (por cambiar el extensión o algo así). También no tienes que tratar de hacer el DLL funcionar con PHP.
Y si hay un(os) .NET Framework para Linux. Lo más popular es
Mono.
Pero no sé como se funcionaría ASP.NET con Apache. Lo he buscado pero no encontré nada que es facíl hacer.
EDIT: Jeje, vi éste en el anuncio al parte superior:
http://wso2.org/projects/wsf/php
Se dice: "Integrate PHP with .NET and Java"