Poraz kolejny powtarzam, google jest przyjacielem, google nie gryzie. Oto biblioteka uzyskana z tematu na stackoverflow, który był na pierwszej pozycji w google:
https://www.codeproject.com/Articles/8667/FTP-Client-Class
Masz tutaj mechanizm notyfikacji, więc wszystkie z tych czterech punktów są wykonalne.
Ewentualnie możesz użyć socketów i napisać własną bibliotekę do FTP, wtedy zaimplementujesz sobie wszystko, czego potrzebujesz w sposób jaki potrzebujesz.
Pozdrawiam