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