What is the best way to annotate one's game to derive the most instructive value out of it? In the search for critical positions - do you start from the beginning, or from the end (last move)? When do you consult a computer engine or computer database? Has any coach ever come up with a comprehensive guideline describing how to do this?
As Andrew points out in a comment, the subject of your post overlaps substantially with an earlier one, whose answers address the general mechanics of analyzing one's own games, and would probably be of use to you. I'd like to address just one small part of your question that doesn't overlap:
In the search for critical positions - do you start from the beginning, or from the end (last move)?
Now whether a position in a game is "critical" or not isn't some objective feature of the position itself, but is rather a function of the position and the player who faces it. What I mean is: many a position in which you or I would say that we have a critical decision to make, Capablanca or Fischer might recognize it as trivial, and in other positions where we might blindly think there's nothing important to consider, players like them might say instead that there are deep considerations to be made.
So I don't think you need to be going through your game after the fact (forward, backward or any other way) trying to identify what the critical junctures were. You know what positions you considered critical when you were playing the game (when you agonized over choosing between two moves, when you spent a looooong time thinking, etc.), and those are critical points where self-analysis can be especially beneficial.
One habit you could get into is making a note of such moments on your scoresheet while you're playing (circle the move, make an X, whatever). Then not too long after the game, try to record as much of what your thought process was at those points. Later on you can look at what you were thinking during the game in a fresh light, and try to find improvements to your in-game mental analysis. Speaking to another part of your question: checking yourself with an engine is a good idea, but you should try to catch your own mistakes first, and only then let Stockfish or whatever show you all kinds of things you never considered or noticed.