I tried to use RCEDIT to add a manifest file and found that it didn't work - the resulting EXE cannot be launched by Windows. I found the following bugs in Resource.cpp:
1) In Resource::SetManifest, "true" is passed for the last parameter to NULL-terminate the manifest resource. This is incorrect - Windows XP (not sure about other versions) cannot launch the EXE if the manifest resource is NULL-terminated, so this should be changed to "false".
2) In Resource::SetFile, the last parameter passed to UpdateResource() is "cbBuffer + RES_MAGIC_SIZE + ztPadding". This is incorrect, because there might not be any magic data. It should be "cbBuffer + magicSize + ztPadding".
After these fixes, RCEDIT is working great!