Imagine if the user's naming function uses the same file name for more than one request for some reason (ie. the requests are the same, it does not consider the POST body when choosing a name, etc).

What should recorder do in that case?  It can't simply overwrite the last recorded response...

Should it open the existing file, compare the live response with what is in the existing file, and error out if they are not identical?  As long as recorder does this, I think it should be okay...

If there was ever DateTime relative stuff returned in a response body (ie. the time response was generated), identical requests issued at different times would have different response bodies...).

I had been thinking when creating a new unit test, you'd first run it against live services while recording.  Then, you'd hand edit the responses, substituting template parameters where you like.  I'm not sure any/what template related support we want for recording from live services...  I'll think more about that.