Just to add to Adam's comment, when retrieving a file contents I found I got the best results using the same revision in both places every time; ie. as follows:
svn_cat ($url.'@'.$revision, $revision);
The one appended to the URL is the peg revision, and the one in the second paramer is the operative revision.
This seems to cover all the bases.