I don't think it's a speed problem ( if that were the case i would be worried ) , Wait For still waits for the operation to be completed.
you most likely have something inside the code.
Just try with the following example code:
B4X:
Dim sf As Object = FTP1.DownloadFile(ServerPath, True, File.DirAssets, FileName)
Wait For (sf) FTP1_DownloadCompleted (ServerPath As String, Success As Boolean)
If Success Then
Log("Now finish")
End if
Does it give you the same problem?