First note that this is not "multiple" inheritance, which means multiple sibling bases, this is "multilevel" inheritance.
Here, the execution is: base.html-> start-> middle.html->start, middle.html->body, which is empty. The "body" block inside of "last.html" is not at the same level as "body" inside of middle so there is no automatic relationship between these (inheritance also does not propagate inside of nested blocks in any case).
You can invoke last.html->body explicitly via "next":
from mako.lookup import TemplateLookup
l = TemplateLookup()
l.put_string("base.html", """
Stuff
<%block name="start"/>
Other stuff
""")
l.put_string("middle.html", """
<%inherit file="base.html"/>
Stuff
<%block name="start">
${next.body()}
</%block>
""")
l.put_string("last.html", """
<%inherit file="middle.html"/>
<%block name="body">
Hi
</%block>
""")
print l.get_template("last.html").render()