Could you also post the definition of the struct?
Also: using structs as an array always gives me compiler errors in A7, there you have to do:
(blocks[positchange.x][positchange.y][positchange.z]).filename
if you want to access a struct member. Maybe thats no longer necessary in A8?
It's very natural that using str_create takes a lot longer, Thats 12500 malloc calls for your level whenever you create or change the strings. Although 40 seconds is pretty long.