Mira, nunca he trabajado con dll's en visual basic.
1) ¿Cómo sabes que has inyectado la dll? ¿Has hecho un debug a la aplicación? 2) Si puedes ver adentro la dll, entonces sigfnica que tu dll no está funcionando como debe. Recuerda que para que la dll "funcione" tienes que tener un evento determinado el cual llame a líneas de código, ejemplo: DLL_PROCESS_ATACH
Uno puede crear la dll que desee e inyectarla sin problemas mientras se utilicen los métodos correctos; por supuesto existe un mínimo reemplazo que es la inyección de código directa. No se reemplaza una dll por otra, sino que se inyecta una propia.