With the exception of the data retrieval method, the OP tried this, and suggests that simply having the tweet_id is not enough, if the tweet it corresponds to happens to be old enough (or something) to not be accessible by the API.
I wrote a couple of Python scripts to keep your timeline tidy (delete everything from the beginning, then trim and leave only the last N): https://github.com/rinze/obliterate_tweets
>> tweet_id is not enough
tweet_id is enough to do any interaction if you give read/write to the key that you are using in your Twitter API. I deleted my tweets (back to 2012).