Check out the following link:
http://www.bidn.com/blogs/DevinKnight/ssis/76/does-file-exist-check-in-ssis
What you need to do to avoid having the package thrown off of the bus when the file doesn't exist is to first check to see if it does exist, which is covered by that link.
In order to handle the need to attempt to find the file X times, you are probably going to want to add some sort of delay after each of the first 9 failed attempts to find the file (otherwise, you'll do your X times in about X*10 microseconds ;-). However, THat being said, basically you need to have a FOR LOOP that impacts 2 variables, one to count the number of times you loop and the other to contain some sort of indicator that you have or haven't finally found the file.
I'd probably check for a LoopCount >> 10 and, if true, fail the component and, thereby, the package if the file has not been found. If the file is found at some point (say, pass number 4), then I'd set the FileFound indicator and then set the LoopCount to 11.