Forse la segnalazione che 'returnstring' non è dichiarata è dovuta al fatto che non hai dichiarato 'returnstring'
Se la dichiari vedrai che si compila.
Dopodichè ti comparirà un erroraccio tremendo che tira in ballo lo Stack e PInvoke, questo perchè la firma di 'mciSendString' è sbagliata, quella giusta è:
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" ( _
ByVal lpstrCommand As String, _
ByVal lpstrReturnString As System.Text.StringBuilder, _
ByVal uReturnLength As UInteger,
ByVal hwndCallback As IntPtr) As UInteger
In quella che hai usato usi dei long (64 bit) invece che degli integer (32bit), e poi il secondo parametro deve essere uno StringBuilder.
la dichiarazione di 'returnstring' deve essere fatta cosi:
Dim returnstring As System.Text.StringBuilder