About time travel and continuity and Gavin MacLoed.
Here are the facts:
Fergus MacLoed was born in 1661 in Scotland.
He was dead before 1723.
In 1723, Gavin MacLoed was listed as Captain of a transatlantic trading ship that sunk.
Around 1980 an expedition found Gavin’s signet ring in the sunken wreck. The ring ended up in a museum in Massachusetts.
In 2010, Bobby summoned the ghost of Gavin using the ring. Upon being summoned, the ghost asked, “Is this Hell?"
Bobby then summoned Crowley who was told that Gavin told Bobby "everything”. So Sam and Dean dug up the grave of Fergus. Crowley showed up and took the bones, after telling Bobby he was out of the soul contract, but leaving in the part about Bobby’s legs. (We did not hear Bobby tell Sam and Dean about Gavin being Crowley’s son, but Rufus is aware.)
In 2013 Sam gets Bobby’s soul out of Hell and delivers it to Heaven. It is mentioned that Crowley paid off a reaper to get Bobby’s soul.
In 2014 Abaddon travels back to 1723 and nabs Gavin while he is in the process of packing.
Crowley tells Gavin about his situation and also why he sold his soul in the first place. Gavin says that he doesn’t understand because his father is dead and he buried him. We get a clear shot of Gavin’s hands when Abaddon is blinding him, and he is not wearing any rings.
Dean says that he can’t get over Crowley having a son.
Crowley tells Gavin that his ship sunk and does not send Gavin back in time.
So. What would it take to escape a continuity error?
Technically, Gavin never has to be on that ship. His ring does. And as far as we know, he did not bring the ring to 2014. He was apparently signed up to be the captain of the ship. (He told Crowley he was “working his way across”.) Seeing as there was no picture i.d. back then, perhaps someone else took his place without bothering to notify anyone of his true identity. We saw a dead body left in Gavin’s room courtesy of Abaddon, so it isn’t out of the realm of possibility that some sort of kerfuffle happened that might result in someone else coming in, finding Gavin’s ring and other possessions and scooting out of town right across the ocean before they get in trouble for murder.
Assuming that both Gavins are the same person, he simply has to have died before 2010 for Bobby to summon his ghost. He could wander around for several years yet before going back in time either to get on the ship or to die in any other way before four years ago. (I think 2010 Gavin looks older than 2014 Gavin, but that’s of course debatable.)
I think it’s interesting that the Gavin we saw in 2014 asked if he was in Heaven, and the Gavin we saw in 2010 asked if he was in Hell. I don’t know what it means, but it makes me wonder where 2010 ghost Gavin had been before showing up at Bobby’s. Has he forgotten where he was before, whether that be Heaven or Hell? Or was he nowhere?
There’s another way to avoid a continuity error. We saw in The French Mistake that SPN’s reality includes alternate universes and that angels are able to traverse between them, though Balthazar used a spell to do so rather than simply angel powers. So, it is possible that when Abaddon used her spell to go back in time, she went to an alternate universe and grabbed that version of Gavin and brought him back to the universe we normally watch. That way, “our” universe’s Gavin could have died on the ship in 1723 while wearing his ring and we can still have another Gavin living in 2014. No problem.
Dean saying he can’t get over Crowley having a son isn’t necessarily an error. We didn’t hear Bobby tell them the entire story of how he found out about Crowley’s bones. That was when Sam was soulless and Dean was worried about that. Bobby also was upset with them for not thinking about his troubles, so it was more likely than normal that they would just do what he said without demanding explanations. And it doesn’t seem out of the realm of possibility to me that Dean would word it that way upon meeting the son even if he’d already heard about his existence four years ago.
Any other possibilities? Hmmm. I wouldn’t put it past Crowley to be able to time travel. Even if he doesn’t know how yet, he can learn just like Abaddon did. That ring could technically belong to anyone. Again, Bobby never had Gavin’s bones. That ghost could have been anyone. Crowley could have gone back in time and made a deal with whomever owned the ring to sail under Gavin’s name and promised him an easier time in Hell in exchange for not ratting Crowley out, especially if it was someone who already had a contract and whose time was up anyway. Crowley sold his soul back then, so why not more people? Why would he do that? Perhaps to avoid changing things. Now that Abaddon is dead, he seems to be on top so why would he want to risk a timeline change where he might have lost? He just learned she could time travel using a spell, so why wouldn’t he go look up the spell himself. He could do that any time before he gets killed (if he does indeed get killed) or before Gavin dies in the present or future without going back in time. There may even be a way to explain Bobby going to Hell here if Crowley didn’t really remove his soul contract. He left the part about the legs in so it wasn’t completely undone anyway. Bobby died before the 10 years were up, but that doesn’t mean anything either, because it wasn’t Crowley or a demon who killed him so that doesn’t negate the deal either. It might be interesting if it turns out Bobby’s soul wasn’t actually considered innocent and so the second trial Sam did doesn’t really count. (All that doesn’t really matter to continuity errors, though. I’m just kind of freethinking.)
I really think show will pull this back up and deal with it later by sending Gavin back in time, but even if they don’t, it doesn’t necessarily negate the events of Weekend at Bobby’s if we assume they were Gavins from two different universes.