Ok, my thoughts would be that you need to create a page that will first look at the url attached, see if it is already posted, and if not, 301 to the story url. This may as well be done in submit.php.
Let me think....
Code:
//if url already exists, go to story page
$check_url = mysql_real_escape_string(strip_tags($_GET['url']));
$link_query = mysql_query("SELECT link_id FROM " . table_links . " WHERE link_url='$check_url' AND link_status!='discard'");
$link_rows = mysql_num_rows($link_query);
if($link_rows > 0) {
$link = mysql_fetch_array($link_query);
$id = $link['link_id'];
header('Location: story.php?id='.$id);
}
Add that to your submit.php file, just below the force_authentication(); line. I just tried it out and it seems to work (I'll probably keep it in place too, as it will help users of my FireFox extension). See how that works for you.