Events are faster than python. Mainly because of the interpreter warmup and overhead to call actions and expressions from python. The difference only matters if it's done every frame. One time stuff like this is fine and you get the benefit of easy code reuse for other caps.
Here's a reason why your code isn't working.
Create and spawn actions take a string for the object name. So instead of:
Cell1.SpawnObject(WallUp, 6, 0)
use
Cell1.SpawnObject('WallUp', 6, 0)