The problem is you try removing the creep before removing
Environment - Remove Normal creep at (Center of (Entire map)), with radius 999999995904.0
Player Group - Pick each player in (All players) and do (Actions)
Actions
General - For each integer ForEachCount[6] from 1 to 88 with increment 1, do (Actions)
Actions
Tech Tree - Set AllUpgrades[ForEachCount[6]] upgrade level to 0 for player (Picked player)
Unit Group - Pick each unit in (Any units in (Entire map) owned by player Any Player matching Excluded: Missile, Dead, Hidden, with at most Any Amount) and do (Actions)
Actions
Unit - Remove (Picked unit) from the game
The problem is you try and remove the creep before removing all the buildings. Creep with no buildings or from overlords should be getting removed, but around living zerg buildings the creep should be remaining. Swap the order to fix (I hope).
Change Neutralize Map to a function, as it does not have any events.
General - If (Conditions) then do (Actions) else do (Actions)
If
(Unit type of (Picked unit)) == Destructible Rocks - 2x6 Vertical
Then
Variable - Set ResourceCount[13] = (ResourceCount[13] + 1)
Variable - Set DestructibleRocks2x6VPoint[ResourceCount[13]] = (Position of (Picked unit))
Break this into a function and then call it repetitivly passing it the variables that change. This would reduce procedural coupling and make editing the code easier.
General - For each integer ResourceCount[12] from 1 to ResourceCount[12] with increment 1, do (Actions)
Actions
Unit - Create 1 Destructible Rocks - 2x6 Horizontal for player 0 at DestructibleRocks2x6HPoint[ResourceCount[12]] using default facing (Ignore Placement)
Unit Group - Add (Last created unit) to NeutralUnits
Like the above, you could reduce procedural coupling my outsourcing this to a function and just changing the arguments.
Setup Teams can be made a function as it does not take advantage of the observer functionality triggers provide.
You also heavilly abuse arrays where array functionality is not required. Rather make a struct (database or something in GUI) and make them all separate entries. Arrays are slower than normal variables do to the extra complexity they have. An example which would most benifit from this is ActivePlayers as I see a lot of static references to a particualr index.
Arrays run from 0 to arraysize-1 so an array of size 10 has indexes 0...9.
For your creep removal, consider a smaller radius as it might not be able to handle that complexity. 200 should suffice as each square is 1 unit in SC2.