I wasn't clear enough (I think you'll find)
In normal use, Skype doesn't modify anything in it's .app folder. The Skype binary in Skype.app/Contents/MacOS/Skype checks itself for consistency. The Leopard firewall alters that binary, thus tripping up Skype's internal consistency check.
Skype is paranoid. Apple's assumed that developers aren't.
Anyway, go verify for yourself:-
Install a fresh copy of skype. Then:-
cd /Applications
find Skype.app -type f -exec sum {} \; > 1
Run Skype. See, it works. Quit it. Run it again. Still works? Yup. Quit it.
Grab another file of checksums now you've run it once or twice.
find Skype.app -type f -exec sum {} \; > 2
diff 1 2
The diff should show no change in checksums.
Now turn on the Leopard firewall (I'm using "set access for specific services and applications"), run Skype, and say "always allow" to the firewall prompt. Skype is still working at this point.
Quit skype and try to relaunch - it's borked. Grab another set of checksums:-
find Skype.app -type f -exec sum {} \; > 3
diff 2 3
See how the binary's changed, and there's a CodeResources file there now.
system.log says:-
Nov 7 20:30:44 lapdog com.skype.skype[22549]: Main starting
Nov 7 20:30:44 lapdog com.skype.skype[22549]: Check 1 failed. Can't run Skype
Further confirming that it's Skype refusing to run, not Leopard actively blocking it.
A quick workaround is to run Skype from it's dmg rather than from a conventional location: the dmg is mounted read only so Leopard can't fiddle with it. Of course, if Skype needed to modify itself to run, this would also fail. It doesn't. Or hasn't yet failed for me.
Sorry to go on at length, but there's a lot of bollocks kicking around here. And no, I'm not a Skype apologist: it fecks me off as much as the next man that it's a bugger to spot on the network.
Lastly: check out http://www.ossir.org/windows/supports/2005/2005-11-07/EADS-CCR_Fabrice_Skype.pdf for an old-ish but interesting insight into the paranoia of the Skype app.