When used as an in-trial command, SendResults will save the results generated by the trials that have been completed by the time the command is executed. If your TextInput element is (created and) logged immediately before an in-trial SendResults command you shouldn’t expect it to appear in your results file.
As an alternative solution, you could try to implement the method described in this message on a separate thread. The idea is to insert a trial that can save the results after every other trial in your experiment, but which will only actually do so if you flag a global Var element. That way you can technically complete the current trial (even if doing so by quitting) before SendResults is executed.