I just saw this sorry. I'm not much help because I have no expertise with ArcObjects.About MOMA, I just checked and it still can be used at 10.1, and it still seems to support neighborhood notation. here's an example:
>>> expr = "tmp3 = tmp1(0,1)"
>>> r = arcpy.gp.MultiOutputMapAlgebra_sa(expr)
>>> print arcpy.GetMessages(0)
Executing: MultiOutputMapAlgebra "tmp3 = tmp1(1,1)"
Start Time: Thu Aug 08 17:27:30 2013
Succeeded at Thu Aug 08 17:27:30 2013 (Elapsed Time: 0.00 seconds)
>>> r = arcpy.gp.MultiOutputMapAlgebra_sa("print tmp3")
1 1 1 1 1 1 1 1 1 NaN
1 1 1 1 1 1 1 1 1 NaN
1 1 1 1 1 1 1 1 1 NaN
1 1 1 1 1 1 1 1 1 NaN
1 1 1 1 1 1 1 1 1 NaN
1 1 1 1 1 1 1 1 1 NaN
1 1 1 1 1 1 1 1 1 NaN
1 1 1 1 1 1 1 1 1 NaN
1 1 1 1 1 1 1 1 1 NaN
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
>>>
Here's how your example would work using con (the old, awesome, CON function, not the new, dumb Con tool).
expr = """
{2} = con(
{0} eq 1, {1}(1,0),
{0} eq 2, {1}(1,1),
{0} eq 4, {1}(0,1),
{0} eq 8, {1}(-1,1),
{0} eq 16, {1}(-1,0),
{0} eq 32, {1}(-1,-1),
{0} eq 64, {1}(0,-1),
{0} eq 128, {1}(1,-1))
""".format("flr_ezg","flg_lg_ezg","to_flg_lg")
arcpy.gp.MultiOutputMapAlgebra(expr.replace("\n",""))
Remember it is very limited (grids only, no project on the fly, etc etc) - but could be very handy if you run across a problem that was easy but stumping you in the newfangled arcpy. (No support -- and no guarantee it will work beyond 10.2 however!)Would be really interesting to do some performance testing vs arcpy!