Thank you for spending more time loooking into this!

BUT I do not want to use yet another spin off of the code base. If you have made changes to the MacOSX.xcodeproj file please send it to Niko or one of the contributors so it can be included in the code base. Multiplatform support means the same code base builds to all platforms. Lets fix this. It doesn't make sense for MacOS developers to each have to create their own private mods just to be functional.
I can download the SVN unchanged on Windows and Linux and it builds either from shell or IDE.
Yesterday after downloading a fresh copy of SVN 486 and adding your files I hit the same snags in compile I had before (I've been fiddling with 1.2 on MacOS off and on for over a month, it's teaching me Niko's well written code base and like you said the problems become more familiar and easier to spot). I got that spin off to compile with the same link errors as before. Sooo...
I went back to the copy of SVN486 I'd dl'd on 2007-02-21 and continued the debugging process and systematically eliminated the link errors.
I got 1.2 to compile and link to demos
BUT. They don't run.

So I will continue to see what changes may be causing this. At least I am not alone in having these problems (experienced MacOS Irrlicht users are also having trouble with the lack of proper integration of MacOS tools into the project). And knowing that it's my lack of understanding of the tools, I can fix what is broken.
My job now is to fix the build tools for Mac OS in Irrlicht 1.2. There is no reason why the makefile can't work for Mac OS using BASH command line. I will need to convert CIrrDeviceMacOS.mm to CIrrDeviceMacOS.cpp and probably use lower level Carbon calls to effect this, but it will be time well spent to have a reliable method of performing a clean build of the engine to the latest source on ALL platforms. It's the whole point of the exercise of a multiplatform engine.
The PNG lib stuff that was moved to deeper directory levels was done so as an organizational tool. There are files in all but one of the deepest directories in the the new source/irrlicht/libpng/contributors directory that are needed for the project. The fact that this new structure is tripping me up making changes to my IDE project file (the IDE in this case being XCode, but it could be Metrowerks Codewarrior, CODE::BLOCKS for MacOS or anything else), is the argument in favor of my leaving the rest of the library structure alone. It was nice dividing Niko's code into it's high level name space categories ::CORE, ::AUDIO, ::IO, ::OS, ::VIDEO, etc, but I found I was creating more work for myself trying to match changes to the latest SVN to my bold new structure. I'll leave it alone for now. If I can make a useful contribution to Mac support for the project maybe then I can approach Niko with the suggestion that he divide the code up a little bit. Or perhaps by then I'll be so familiar with the project structure I won't need that study aid.
In the process of creating a new more consistent Irrlicht.xcodeproj I will add a directory irrlicht/make at the same level as irrlicht/bin, irrlicht/source, etc and put the makefile and IDE project files for all dev tools I have there. I was never able to make Visual Studio Express C++ build the project (missing D3DX8 SDK files) but both Dev-C++ and CODE::BLOCKS build for Windows. I think I need to change some settings in a copy of the Linux version of the C::B project from another Irrlicht developer to get that to build on my Ubuntu 7.04b3 box, but the makefile works fine there. This engine is well written and with some fine tuning it should be able to build a single application code base targetting Mac OS, Windows, and Linux.
Wish me luck!