Hi tobwz,
Adding eventlog is not really complex. I do it in "my" winpe but I build "my" winpe with my own script.
If you can use procmon, you'll quickly find all the missing files and keys. I'll try to make a delta/difference with WimBuilder2.
I forget the "sesame": after adding the files/keys, you need the sequence: net stop eventlog/delete "MiniNt" key/net start eventlog/create MiniNt
I explain a little this in my .pdf file (in microWinpeBuilder somewhere in this forum). Because no one asked me to give more details...
Eventlog service runs and logs in files even if you can't use eventvwr.msc. Logs are always product.
Even if you can't add eventvw.msc by yourself, you can also transport log files (application.evtx and system.evtx) from x:\windows\system32\winevt\logs to another machine and open them in eventvwr.msc.
Eventvwr uses data contained in the system\...\services\eventlog key ( big size ! ). This datas is used to construct the final text. The log file contains only the "variable" data of the text. Your machine on which you are reading these logs may not contain all the datas (too many cases to explain, my poor english ...).