Seu exemplo não funciona no IE para mim; você precisa especificar o cabeçalho Doctype no seu documento para renderizar sua página de maneira padrão no IE para usar a propriedade CSS de conteúdo:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<head>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<html>
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
<li>Five</li>
</ul>
</html>
A segunda maneira é usar seletores CSS 3
li:not(:last-of-type):after
{
content: " |";
}
Mas você ainda precisa especificar Doctype
E a terceira maneira é usar o JQuery com algum script como o seguinte:
<script type="text/javascript" src="jquery-1.4.1.js"></script>
<link href="style2.css" rel="stylesheet" type="text/css">
</head>
<html>
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
<li>Five</li>
</ul>
<script type="text/javascript">
$(document).ready(function () {
$("li:not(:last)").append(" | ");
});
</script>
A vantagem da terceira maneira é que você não precisa especificar doctype e o jQuery cuidará da compatibilidade.