If criminality is defined by morality and morality is not subjective, then criminality can neither be based on the intent or result of ones actions because morality cannot be objectively defined by either intent ( but I meant well) or effect (but I saved you millions of dollars.)
While stealing a penny may be inconsequential because nobody would bother to spend more than a penny's-worth of time to enforce something like that, it is still technically immoral.
Taking a phone without consent is immoral, it depends on the owner of the phone whether or not to hold the thief accountable for his actions or to absolve him of his crime.
Say the thief took the phone but he had a really good reason for taking it like to make an emergency call. The thief is totally responsible for his/her actions and the owner of the phone may choose to require restitution for the theft. While the reason for stealing the phone was enough to justify stealing it the reason behind the theft has no effect on the morality of the action.
Criminality is not something that exists for you to "catch" like a cold. It is just a logical tool to find out if you have the right to demand restitution or justify self defense. in the case of the accidentally stolen watch, if someone becomes aware of the theft then they have the right to set the situation straight. Intent has no weight in figuring out if something is immoral or not.
The label of "criminal" is not something that happens to you after you commit an immoral action, it is only a piece of language used to define someone who has committed an immoral action. it is your choice whether you choose to ascribe the label or not. Is it likely that you will call someone who inadvertently took someones watch a criminal? Probably not.
My thought are really scattered, but I hope I brought some clarity to the question.