It turns out that `ApplySearchOffsetDataStartEnd` actually ignores all consecutive line breaks so an offset of one will skip past any number of blank lines.  We need blank lines to "count" for the purposes of motion.  I am now looking into whether this is a bug in `ApplySearchOffsetDataStartEnd` or whether they really need to be different.