This reproduction script says it all:
#!/bin/sh
SVN=${HOME}/src/subversion/subversion/svn/svn
URL=http://svn.collab.net/repos/svn/trunk/contrib/client-side
rm -rf client-side
${SVN} co -q -r18448 ${URL}
cd client-side
echo ""
echo "### Note how r18448 of vc-svn.el contains just some placeholder text:"
echo ""
cat vc-svn.el
echo ""
echo "### And 'svn st' says no modifications here right now:"
echo "\$ ${SVN} st"
${SVN} st
echo ""
echo "### [No output from the above command, right?]"
echo ""
echo "### Now we will undo r13119, thus deleting vc-svn.el locally:"
echo "\$ svn merge -r13119:13118 ..."
${SVN} merge -r13119:13118 ${URL} .
echo ""
echo "### And immediately afterwards undo r13113, thus adding it back:"
echo "\$ svn merge -r13113:13112 ..."
${SVN} merge -r13113:13112 ${URL} .
echo ""
echo "### Now 'svn st' correctly claims vc-svn.el is replaced-with-history:"
echo "\$ svn st"
${SVN} st
echo ""
echo "### But 'svn diff' says there are no differences:"
echo "\$ svn diff"
${SVN} diff
echo ""
echo "### [No output from the above command, right?]"
echo ""
echo "This is clearly incorrect. If you look at vc-svn.el no, it contains"
echo "very different text from what it contained before. But no diff is"
echo "displayed, presumably because 'svn diff' is naively using"
echo ".svn/vc-svn.el.svn-base instead of .svn/vc-svn.el.svn-revert."
echo ""