I found a problem when trying this on a bigger file (my book file): If $1 (actually, #$1) is for a link target that doesn't exist, then org-mode goes into its "No match - create this as a new heading? (y or n)" routine. That causes the rest of the export to fail. It'd be better if get-title could do the same thing org-mode does natively, that is, including the text of $1 as italics to indicate a non-existent link.
Example file below: