With a bit of "pre-prep" you can set the presentation up so that the needed slides and linked shapes can be found easily. No need to guess at things based on position.
I understand that you probably don't want to tackle this, but as another thought exercise, this will give you some notion of how you might approach it:
For example, to prep the static slides:
Sub TagStaticSlide()
Dim sTemp As String
sTemp = InputBox("Name the selected slide", "Slide name")
' User's either entered a name or blank
' If blank, do nothing
If Len(sTemp) > 0 Then
' Tag the slide with the value user entered (Uppercased)
ActiveWindow.Selection.SlideRange(1).Tags.Add "STATIC", UCase(sTemp)
End If
End Sub
You could then use something like this to locate the slide with a
given tag (in this case, I've called it Slide 4)
Sub TestFindSlide()
Dim oSl As Slide
Set oSl = FindSlideTaggedWith("Slide 4")
If Not oSl Is Nothing Then
MsgBox "Slide index is: " & CStr(oSl.SlideIndex) _
& vbCrLf & "Slide ID is:" & CStr(oSl.SlideID)
End If
End Sub
Function FindSlideTaggedWith(sTemp As String) As Slide
Dim oSl As Slide
For Each oSl In ActivePresentation.Slides
If oSl.Tags("STATIC") = UCase(sTemp) Then
' FOUND it
Set FindSlideTaggedWith = oSl
Exit Function
End If
Next
End Function
Now if another routine tagged each hyperlinked shape with the tag of the slide it's linked to, you'd have a way of relinking the correct slide later.