Spray foam insulation against metal roofing
Questions:

Q1: Is this a reasonable/acceptable plan? Yes &amp; no...more below.

Meets code? You'll need to run all of this by your local/city inspectors/building code enforcement folks to get the answer.

Energy efficient? Roofing-wise, I believe it is. Several inches of foam will be quite efficient--but that may be undone by what your other choices are for walls/floor and the open ceiling 'choice'.

Q2: Does this mean the insulation needs to be replaced if we ever need to re-roof? YES.
In other words, if we ever remove the metal, does the insulation come with it? YES.
Is it possible to re-roof over the metal without removing it? Possible I guess, but I have never seen this done in my locale. It could be problematic and costly.

Q3: Do we need to worry about issues with moisture/rot (e.g., is the strapping going to rot if moisture gets around a screw after the metal has expanded/contracted thousands of times)? 
YES..for the exact reason you  mention.Those gaskets do wear out and relatively quickly.

Q4: Are there reasonable alternatives that we should consider? One thing for sure I would do differently--to mitigate future loss of the insulation investment--use plywood decking over the strapping onto which the metal can be fastened. OR you might consider using a standing seam metal roof with no exposed fasteners. This would be very costly, but would mitigate some of the concerns you mention (and would look GREAT). I assume your use of 'reasonable' is mostly from an economic point of view.  SS metal is most likely a bridge too far, but plywood decking is not in my opinion-- about $2200 material to protect probably $6-12K in insulation investment (depending on actual thickness and type). Exterior walls material and insulation choice will also determine the overall energy efficiency of the building. Personally, if I could not afford SS metal, I would use 3/4" plywood roof sheathing--not OSB. I hate OSB because of sagging potential and it rarely ever snows in my locale. I am certain that is a big concern in your neck of the woods. You should ask your insulation contractor about the install temperatures/etc. You may have to wait for spring or a very sunny stretch this winter. Good luck!