Hi Trevor,
No clue what's going on here...
Here's a workaround (to be addapted to your needs):
\version "2.19.17"
\language "english"
repeatTieExtend =
#(define-music-function (parser location arg-repeat-tie-extend) (number?)
#{
-\tweak X-extent #(cons (* (+ arg-repeat-tie-extend 4) -1) 0)
-\tweak details.note-head-gap #(* arg-repeat-tie-extend -1)
-\tweak extra-offset #(cons (* arg-repeat-tie-extend -1) 0)
-\tweak head-direction #1
\laissezVibrer
#})
\new Score {
<c' g'>1
<c'-\repeatTieExtend #2 g'^\repeatTieExtend #2 >1
<c'-\repeatTieExtend #4 g'^\repeatTieExtend #4 >1
%%% note that it does not work with odd numbers:
\mark\markup\with-color #red "Oops:"
<c'-\repeatTieExtend #4 g'^\repeatTieExtend #3 >1
}