Please try avoid sending same questions both to Kentico support and Devnet at the same time, it adds unnecessary processing from our part and 2 different people may be working on the same issue.
The file is indeed unfortunately not created when the MediaFileInfo.TYPEINFO.Events.After fires. The solution here is to create a custom InfoProvider for MediaFileInfoProvider and place your code there. I have tested following code:
public class CustomMediaFileInfoProvider : MediaFileInfoProvider
protected override void SetMediaFileInfoInternal(MediaFileInfo mediaFile, bool saveFileToDisk, int userId, bool ensureUniqueFileName)
// process file by system
base.SetMediaFileInfoInternal(mediaFile, saveFileToDisk, userId, ensureUniqueFileName);
// create thumbnails here, file exists on File system at this point