The right time to give someone mobile commerce is when they want to do something. Only the individual user knows when they want something or when they want to do something. A certain percentage of mobile commerce will be done by the individual user desiring something and finding the right service to meet their needs. This should be made as easy as possible and left alone for the end-user to drive by himself. But the larger percentage of mobile commerce is expected to happen based around the informal activities or events that people naturally do when they are mobile.
People like to meet and interact with other people.
The answer in my opinion is not difficult. These types of applications must provide the user with the ability to accomplish this very quickly, within seconds. When users decide to do something, communicate with and invite their friends or peers to that event, and everyone decides to go do the activity, that is the ideal time to offer them mobile commerce. At this precise time, M-commerce would be expected and relevant, and that would make it acceptable to users. His wireless service senses that he's close and decides to beam a little movie coupon to him on his phone based on the fact that he had indicated on a website or a survey that he liked to see movies.