The problems with SendKeys is that the intended target application Window must be the Active window at the time the SendKeys command is executed. If it isn't, then SendKeys will fail. Thus the issue with SendKeys is that the programmer must control the timing of the execution of the SendKeys function. there are at least two ways to structure your code to avoid problems.........see the various code examples in this link:
http://technet.microsoft.com/en-us/library/ee156592.aspx