Bueno perdonad si os he hecho perder el tiempo. Pero por fin lo he resuelto. He cambiado la forma de comparar y el resultado es el mismo. Os mando como ha quedado el código:
Private Sub lblCajonCartas_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
'comprueba que haya carta
posy = lblCajonCartas(Index).Top
posx = lblCajonCartas(Index).Left
For i = 0 To 35
If lblCartas(i).Top = posy And lblCartas(i).Left = posx Then
lblCartas(i).Drag 1
'--segun el color elige el icono del arrastre
If lblCartas(i).BackColor = QBColor(1) Then
lblCartas(i).DragIcon = LoadPicture(App.Path & "1.ico")
End If
If lblCartas(i).BackColor = QBColor(2) Then
lblCartas(i).DragIcon = LoadPicture(App.Path & "2.ico")
End If
If lblCartas(i).BackColor = QBColor(3) Then
lblCartas(i).DragIcon = LoadPicture(App.Path & "3.ico")
End If
If lblCartas(i).BackColor = QBColor(4) Then
lblCartas(i).DragIcon = LoadPicture(App.Path & "4.ico")
End If
If lblCartas(i).BackColor = QBColor(5) Then
lblCartas(i).DragIcon = LoadPicture(App.Path & "5.ico")
End If
If lblCartas(i).BackColor = QBColor(6) Then
lblCartas(i).DragIcon = LoadPicture(App.Path & "6.ico")
End If
If lblCartas(i).BackColor = QBColor(7) Then
lblCartas(i).DragIcon = LoadPicture(App.Path & "7.ico")
End If
If lblCartas(i).BackColor = QBColor(8) Then
lblCartas(i).DragIcon = LoadPicture(App.Path & "8.ico")
End If
If lblCartas(i).BackColor = QBColor(9) Then
lblCartas(i).DragIcon = LoadPicture(App.Path & "9.ico")
End If
If lblCartas(i).BackColor = QBColor(10) Then
lblCartas(i).DragIcon = LoadPicture(App.Path & "10.ico")
End If
If lblCartas(i).BackColor = QBColor(11) Then
lblCartas(i).DragIcon = LoadPicture(App.Path & "11.ico")
End If
If lblCartas(i).BackColor = QBColor(12) Then
lblCartas(i).DragIcon = LoadPicture(App.Path & "12.ico")
End If
If lblCartas(i).BackColor = QBColor(13) Then
lblCartas(i).DragIcon = LoadPicture(App.Path & "13.ico")
End If
If lblCartas(i).BackColor = QBColor(14) Then
lblCartas(i).DragIcon = LoadPicture(App.Path & "14.ico")
End If
If lblCartas(i).BackColor = QBColor(15) Then
lblCartas(i).DragIcon = LoadPicture(App.Path & "15.ico")
End If
End If
Next i
End Sub
Personalmente me gutaba más antes, pero los que estamos limitados, no podemos ser brillantes.
Saludos, y tema zanjado.