Quick update, I think the issue was that for some reason I failed to call ClearLevel() during the loop in BuildLevel(), leading to old data on subsequent loops. I think this was an attempt to optimize gone wrong. Could you please try adding a call to ClearLevel() to the beginning of the for loop in BuildLevel (around line 203 of BoardGenerator) and let me know if that solves this issue for you? It looks good on my end, if it works for you I'll ship the fix.
Thanks again and sorry I missed the earlier response. I'm new to using Itch for this purpose.
Best,
Matt