Is there any possibility of resending a campaign through the API?
It's not possible to resend a campaign via the API.
What are you trying achieve? Are you trying to do something similar to the resend a sent campaign functionality of the web application?
You could try using the WebVersionURL property of the Campaign Summary API method to HTTP GET the campaign content and then create and send a new campaign based on that. It would involve a bit more effort on your part, though.
We were looking at trying to do the resend option via the API as well and tried to look at the solution that you offered, however, the Campaign Monitor Tags are replaced by the custom content and are no longer usable. To dynamically figure out where to put those in would potentially be quite a bit of effort.