Unity 3.x had an issue with the byte order mark at the start of XML files, which there was a code work around for. Unity 4 has subsequently fixed the issue, so the work around has been ifdef'd to work only on Unity 3.x.