Can this “white-space divider” we tested in different ways here be a reliable crossbrowser solution, do you think?
Put together a demo using your code how I think it could work. Tested briefly in Firefox and Chromium. 
<!DOCTYPE HTML><html lang="en"><head><meta charset="utf-8">
<title>White-space-Item-Dividers</title>
<style>
h1, h2, ul, blockquote{ margin:2em 2em 0; padding:0; text-align:center}
p{ margin:1em 2em}
blockquote{ white-space:pre-wrap; text-align:left}
blockquote:before, blockquote:after{ color:gray; font:2em/0""; vertical-align:-.3em; content:"\275d"}
blockquote:after{ content:"\275e"}
ul li{
display:inline;
list-style:none;
line-height:1.5;
}
ul li:after{
margin:0 .4em;
background:red;
word-spacing:.9em;
border-radius:.9em;
content:"\20";
}
h2 a,
p a,
ul a{
display:inline-block;
text-decoration:none;
}
</style>
</head><body>
<h1>White-space Item Dividers</h1>
<p>The dividers are :after pseudo inline elements. Their content is one regular whitespace only. The visual divider figure is the element's background; color or image. Other properties allowed are word-spacing, used as width, and margin to add space around the divider. The divider element can't have anything that is not equal to whitespace, such as border or width or padding. </p>
<p>According to the specs there can only be one whitespace rendered between objects, only the first in a sequence of whitespaces will stay, all others will be removed. At line ends all whitespaces will be removed. Having the divider inserted :after the item's content makes it become the first whitespace between items. The item holding the divider need to be plain inline to put it after itself and not contain it. But the item's content can be inline-block with all the properties.</p>
<p>Result: Dividers should appear, but only between adjacent items, not at line endings. I think this is the correct behavior. :)</p>
<ul>
<li><a href="#">Link item 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link item 3</a></li>
<li><a href="#">Link 4</a></li>
<li><a href="#">Link item 5</a></li>
<li><a href="#">Link 6</a></li>
<li><a href="#">Link item 7</a></li>
<li><a href="#">Link 8</a></li>
<li><a href="#">Link item 9</a></li>
<li><a href="#">Link 10</a></li>
<li><a href="#">Link item 11</a></li>
<li><a href="#">Link 10</a></li>
<li><a href="#">Link item 11</a></li>
<li><a href="#">Link 12</a></li>
<li><a href="#">Link item 13</a></li>
<li><a href="#">Link 14</a></li>
<li><a href="#">Link item 15</a></li>
<li><a href="#">Link 16</a></li>
<li><a href="#">Link item 17</a></li>
</ul>
<p><a href="http://stackoverflow.com/questions/15306108/css-styling-for-horizontal-list-with-bullet-only-between-elements#answer-23980616">The original idea afaik was found at StackOverflow. It was posted June 1st 2014 by "Liptier".</a></p>
<h2><a href="http://www.w3.org/TR/CSS21/text.html#propdef-white-space">w3.org: The 'white-space' processing model:</a></h2>
<blockquote> For each inline element (including anonymous inline elements), the following steps are performed, treating bidi formatting characters as if they were not there:
Each tab (U+0009), carriage return (U+000D), or space (U+0020) character surrounding a linefeed (U+000A) character is removed if 'white-space' is set to 'normal', 'nowrap', or 'pre-line'.
If 'white-space' is set to 'pre' or 'pre-wrap', any sequence of spaces (U+0020) unbroken by an element boundary is treated as a sequence of non-breaking spaces. However, for 'pre-wrap', a line breaking opportunity exists at the end of the sequence.
If 'white-space' is set to 'normal' or 'nowrap', linefeed characters are transformed for rendering purpose into one of the following characters: a space character, a zero width space character (U+200B), or no character (i.e., not rendered), according to UA-specific algorithms based on the content script.
If 'white-space' is set to 'normal', 'nowrap', or 'pre-line',
every tab (U+0009) is converted to a space (U+0020)
any space (U+0020) following another space (U+0020) — even a space before the inline, if that space also has 'white-space' set to 'normal', 'nowrap' or 'pre-line' — is removed.
Then, the block container's inlines are laid out. Inlines are laid out, taking bidi reordering into account, and wrapping as specified by the 'white-space' property. When wrapping, line breaking opportunities are determined based on the text prior to the white space collapsing steps above.
As each line is laid out,
If a space (U+0020) at the beginning of a line has 'white-space' set to 'normal', 'nowrap', or 'pre-line', it is removed.
All tabs (U+0009) are rendered as a horizontal shift that lines up the start edge of the next glyph with the next tab stop. Tab stops occur at points that are multiples of 8 times the width of a space (U+0020) rendered in the block's font from the block's starting content edge.
If a space (U+0020) at the end of a line has 'white-space' set to 'normal', 'nowrap', or 'pre-line', it is also removed.
If spaces (U+0020) or tabs (U+0009) at the end of a line have 'white-space' set to 'pre-wrap', UAs may visually collapse them. </blockquote>
</body></html>