Here is an example file.
Your test isn't working on my computer either.
I think it has to do somehow with using working_directory to grab the file locations. I believe that working_directory is whatever the last place GM did something with external files. So, when you create that text file, that directory is now the working directory. What I don't get is that when trying to create the zip, it gets it right, but not when adding. So, I got it working by instead of using working_directory, creating your global variable to simply be "Level Board/TEMP", without that. Here is the catch though. It appears that you must use forward slash '/' to get it all to work right as well. I had to adjust that.
The reason my extension works without using working_directory is because though GM changes it's version of working_directory, it doesn't change for dll's or other windows processes of course. So, my dll still works based off of wherever the executable is, and so simply omitting the working_directory part fixes the problem, and since you aren't going to be having those folders moved around once you are done with the game, it won't be a problem.
Also, you had forgotten the slash before the filename BIN.txt when adding it to the zip, though you had added it when you were creating the file.
Now, I also got it working with the .u3d model files. Your problem is here.
kbzipAddFileToZip(global.temp_folder+file);
//show_error(global.temp_folder+"\"+file,false);
You put the '/' in the show_error line, but didn't put it when adding the file to the zip. When you make it...
[code
kbzipAddFileToZip(global.temp_folder+'/'+file);
//show_error(global.temp_folder+"\"+file,false);
[/code]
It suddenly works. But, I tried with a backslash '\' instead of the forward '/' and it no longer works. So now you know, anytime you use my extension, just make sure you use forward slashes.
Here is my "fixed" version.