Thank you for your reply. As I only want the ID in this case, SCOPE_IDENTITY would be fine. I believe that I add that to the end of my SQL Statement, so that would be like the following?
myconnection.Execute("INSERT INTO " & OriginalTable & " SELECT * FROM TempTable; Select Scope_Identity()")

But i dont understand is how to return the resultant value in my variable ID ?

Googling other sites I see some suggestions such as ID = CInt(myCommand.ExecuteScalar()), but I dont have the ExecuteScaler option on myconnection