La verdad, me parece un poco lioso tener dos programa en diferentes sistemas y que además tengan que compartir cosas.
Bueno la cuestión es que si eres tu el creador y tienes acceso al código de los dos, yo primeramente habilitaría algún sistema para que compartieran los datos de la forma más asequible posible, y en este caso el problema tuyo es que los de VB residen en memoria. Si es imperativo que la cosa sea así te surgiría que trabajaras con la la memoria mapeada, o crear un fichero mapeado en memoria tal que así:
Código Delphi
[-]
FicheroM:=CreateFileMapping( $FFFFFFFF,
nil,
PAGE_READWRITE,
0,
SizeOf(Estructura),
'Fichero_Name');
PReceptor:=MapViewOfFile(FicheroM,FILE_MAP_WRITE,0,0,0);
Estructura^:=Handle;
Estructura^.IsLocal := False;
Con este código lo que haces es crear un fichero llamado Fichero_Name mapeado en memoria y en cual has insertado la información que tú desees.
Esta información puede ser cualquiera, en este caso deberías informar al otro programa Delphi donde y como puede encontrar la información.
El siguiente paso, sería desde el otro programa (Delphi) abrir el fichero mapeado y leer la información, y acceder a ella....
Código Delphi
[-]
FicheroM:=OpenFileMapping(FILE_MAP_READ,False,'Fichero_Name');
Estructura := MapViewOfFile(FicheroM,FILE_MAP_READ,0,0,0);
Evidentemente "Estructura" debe ser igual en ambos programas.
En fin, de este modo le has pasado información de un programa a otro.
Espero que te sirva...