Okay this is my working code, in case it's useful for somebody:
Public Sub InitializeVSTFX(sender As Object, e As NotifyCollectionChangedEventArgs)
For Each item In CopiedAppliedEffcts
item.Parameter.Clear()
For i = 0 To BassVst.BASS_VST_GetParamCount(item.Handle) - 1
Dim value As Single = BassVst.BASS_VST_GetParam(item.Handle, i)
item.Parameter.Add(value)
Next
BassVst.BASS_VST_EmbedEditor(item.Handle, Nothing)
BassVst.BASS_VST_ChannelRemoveDSP(sourcechannel, item.Handle)
Next
For i = AppliedEffects.Count - 1 To 0 Step -1
AppliedEffects(i).Handle = BassVst.BASS_VST_ChannelSetDSP(sourcechannel, AppliedEffects(i).Pfad, 0, AppliedEffects.Count - i)
Dim vstInfo As New BASS_VST_INFO()
BassVst.BASS_VST_GetInfo(AppliedEffects(i).Handle, vstInfo)
AppliedEffects(i).Name = vstInfo.effectName
If AppliedEffects(i).Parameter.Count = 0 Then
BassVst.BASS_VST_SetParamRestoreDefaults(AppliedEffects(i).Handle)
Else
For Each item In KopieAppliedEffects
If item.ID = AppliedEffects(i).ID Then
For j = 0 To item.Parameter.Count - 1
BassVst.BASS_VST_SetParam(AppliedEffects(i).Handle, j, item.Parameter(j))
Next
End If
Next
End If
If AppliedEffects(i).UIIsOpen Then
BassVst.BASS_VST_EmbedEditor(AppliedEffects(i).Handle, AppliedEffects(i).UIHandle(0))
End If
Next
For Each item In AppliedEffects
Dim itemColor As New Media.SolidColorBrush
If item.Bypass Then
itemColor = CType(Application.Current.Resources("HighLightedBrush"), Media.SolidColorBrush)
Else
itemColor = CType(Application.Current.Resources("ForeGroundBrush"), Media.SolidColorBrush)
End If
CopiedAppliedEffects.Add(New PlugInsViewModel(item.ID, item.Path, item.Name, item.Bypass, item.Handle, item.UIHandle, item.UIIsOpen, itemColor, item.Parameter))
Next
End Sub