Hi, Yurkennis.
I don't know anything about iPhone. But if I understand correctly, you can export a view from Windows MLO and import it to iPhone MLO. So I decided to see if I could solve this on Windows, with hopes that any Windows solution would also be effective on iPhone.
I was able to come close to what you want but I don't think it's 100%.
It's a two part solution: (1) use advanced filter to find top level items that are not future, then (b) show hierarchy (children) with a child filter that hides future tasks.
The advanced filter reads "(StartDateTime on or before Today) and (ParentName is Empty)"
The hierarchy filter for child items reads "StartDateTime on or before Today"
For the example you gave, the result matches what you asked for. Also, if I add subtasks A1 through A4 to A that match your subtasks B1 through B4, A1 and A2 are shown and A3 and A4 are hidden. (If you wanted A4 shown, it would be easy to add "or StartDateTime does not exist".
Here's the problem: if I add a task A31 (yesterday) as a subtask to A3 (tomorrow), A31 is shown because it's past and that forces A3 to be shown. I could not figure out a way to filter out A3 and its children even if the children are past.