I think it would be nice to ship source diff against release with zip. I'd rather patch diff against source than download whole sources, especially since the source zip does not have bind to svn/git/whatever.
Didn't really get what is the big difference between applying diff and just copying over whole source, but I'm doing diff anyway so I added link to downloads. It's a p1 diff though.
I just compiled from source with diff on Mac but it had an M at the version information 1.5.3M so citymania server responses with version mismatch! Any chance to add M versions to server version checking?
Edit: don't worry just recompiled from citymania provided src package
Don't think servers can accept several versions, but even if they can it's not the right way to go. You need to get proper version on client which is determined by vanila OpenTTD version detection script.
As you already noticed full source package compiles to correct version. But with diff version is determined by what you apply it on. If you apply in on source package from openttd.org, you'll get correct version anyway (that's exactly the same as full citymania client source). But if you apply it on svn checkout or smth else then version detection works differently, you need to set version tag or so.
To put it shortly, I advise to always use full source package to build citymania client. Use diff only when you know what you're doing xD