Si se puede cargar una DLL en memoria y obtener una funcion, pasarle argumentos y llamarla mediante PHP, (seria algo asi como programar usando la API LoadLibrary y GetProcAddress de la lib kernel32 de windows para cargar dll y obtener su direccion en memoria de la funcion respectivamente) todo eso sería con w32api_register_function, tienes la referencia de esto en el manual online de php:
http://mx.php.net/manual/es/ref.w32api.php
Por otra parte dices que una DLL hecha en VisualBasic...
esas son DLL's Active X y nada que ver con dlls reales.. No sé exactamente que va el tema de DLL Active X en VB (por que la verdad sinceramente yo no me he metido a esto) pero escuché decir a un amigo que odia visual basic que las DLL Active X no eran lo mismos que las Librerias dinamicas normales, sinceramente no sé cual es la diferencia si sea igual o no.
por mi parte solo he llegado a programar DLL's en pascal y c.
un saludo..