As far as I know the Grid MORA as well as all other indicated minimum altitudes are not true altitudes so a correction needs to be applied.
If you are flying for a JAR OPS operator you will find a paragraph how to calculate the minimum usable flight level in your OM/A. This is a requirement coming more or less directly from JAR OPS 1.250 a):
„An operator shall establish minimum flight altitudes and the methods to determine those altitudes for all route segments to be flown which provide the required terrain clearance taking into account the requirements of Subparts F to I.“
In IEM OPS to JAR OPS 1.250 you find the details how to calculate this minimum flight level. The same formulas you have used, by the way.
However there is still JAR OPS 1.250 c):
„Where minimum flight altitudes established by States over flown are higher than those established by the operator, the higher values shall apply.“
This paragraph limits the minimum usable flight level to the minimum altitudes published by the state which is over flown.
As a state publishes the required minimum flight altitudes along a published IFR route as MEA, MRA, MCA, MOCA etc. according to ICAO, these are the minimum altitudes JAR OPS 1.250 c) refers to. So in the case you may not fly below for example a MEA even if you have calculated that you will observe the required obstacle clearance.
As you specially refer to Grid MORA, there is no requirement I know of, that states have to publish this information on their en- route charts. If you take a look at the en- route low alti-tude chart published for example in the Austrian AIP you wont find any Grid MORA!
Grid MORA as well as MORA are altitudes derived by, if we take the world largest supplier of IFR charts, Jeppesen, based on ONC charts. So I interpret it the way that MORA and Grid MORA are not minimum altitudes published by the state referred to in JAR OPSA 1.250 c).
Now we come to the point where we can't stay at a specific flight level or altitude after loss of one or more engines. But then there is still JAR OPS 1.500 and JAR OPS 1.505 that require an operator to ensure that the route of flights allows sufficient obstacle clearance in the case of an engine out situation.
If a specific type of aircraft is not able to meet these requirements the operator has to ensure that there are procedures, for example escape routes, to be flown in this case. This might also require a limitation on accepting a direct routing on a specific route segment. The last sentence is a personal assumption, based on my interpretation of JAR OPS.
In calculating these requirements an operator will have a look at the Grid MORA and/or MORA as well of course the performance of the specific type of aircraft, as laid down in AMC to JAR OPS 1.500 for Performance Class A. I assume we are talking about Performance Class A. In the calculations to meet this requirement published values as Grid MORA or MORA are taken into consideration. I know that JAR OPS is inconsistent in this point as Grid MORA and MORA are not state published altitudes. But the IEM to JAR OPS 1.250 as well as the AMC to JAR OPS 1.500 specifically allow the use of these altitudes and mention dif-ferent formulas used by different chart providers, to calculate these altitudes.
Finally I would say you may not descend below the published altitude even if you can do so still providing the required obstacle clearance. If you would be forced to descend to an flight level or altitude below any published altitude due to performance reasons something went wrong during the planning stage.
I hope I got it somehow correct. I think it’s very difficult and my first language is not English. So I am open for any discussion, would be interesting to see other opinions.