Now the Evaluate() command cannot resolve names when the name to evaluate is within the square brackets []. In other words if the name to resolve is a part of the index.
It would be demanded the Evaluate() doesn't have this limitation.
if your evaluation is failing it may be due to nested quotemarks inside your strings. consider using the \" escape symbol and it should resolve just fine.
i.e. "Runstate.Sequence.Main[\"MyStep\"].Result.Status"