Try changing:
If intendedpath.Cells(i).Borders(direction).LineStyle <> xlNone Or Intersect(intendedpath.Cells(i + myStep), Range("AllowedRange")) Is Nothing Then
    Set reachedcell = intendedpath.Cells(i)
    Beep                                       ' sound.
    Exit For
  Else
to:
If intendedpath.Cells(i).Borders(direction).LineStyle <> xlNone Or Intersect(intendedpath.Cells(i + myStep), Range("AllowedRange")) Is Nothing Then
    Beep                                       ' sound.
    resetStartPosn 'optional
    Exit Sub 'For
  Else
where you can comment out resetStartPosn to prevent the bee moving at all.