I was moving a bug from an existing in flight project to a new project, and the when I did that the current sprint was bought across to new project (which hasnt started). I then thought I was removing the carried over current sprint from the new project, but turns out it was removed from old project.
Any way to restore the contents of the sprint, or do I need to manually rebuild it?
The scenario you describe is also explained in the KB: The same sprint is displayed across different scrum boards after moving an issue
This is expected to happen when moving issues that are currently assigned to a sprint. Since sprints are not bound to specific projects or boards they can contain issues from any project in JIRA. It is a common mistake to see that sprint in the new board and think this sprint only has that one issue in it. Depending on the board filter, your view on that board of that sprint would be restricted to issues that only match that current boards filter.
There is not a means to recover a deleted sprint in JIRA. The only way you could do so would require restoring a database backup from before this change. But this would revert all changes in JIRA made since that time in the process. If this is a JIRA server instance, you might be able to take an existing database or XML backup from before this change, and then restore it to a staging instance. This would then allow you to see the old sprint name, planned dates, and issues contained within that sprint.