Each instance appears to come down to the particulars of each verb, so let's look at those in turn.
勤【いそ】しむ
- To work towards something, to endeavor to do something, to make oneself busy at something
This is listed as a 自動詞 in dictionaries. As such, whatever is marked as が for this verb would be the grammatical subject -- the agent performing the action of the verb. Since ウォッチング[が]【●】勤しむ would mean that the watching was endeavoring, and since that doesn't make any sense, we know that we can't use the が here.
As for why to use に instead, it might be helpful to think of the action of the verb from an English perspective: one endeavors to do something, or works toward something, etc. In a similar way, 勤しむ describes an action towards a particular goal, so the goal takes the particle に in much the same way as a destination takes に with the verb 行【い】く.
溢【あふ】れる
- To overflow, to be full of
Much as with the English verb overflow, the Japanese verb 溢【あふ】れる can describe either the action of a thing, or the state of another thing that contains the first thing.
For instance, we can say that water overflows from a cup. Since we are using the verb to describe the water, we use が after the 水【みず】:
Alternatively, we can say that the cup overflows with water. In this case, we are using the verb to describe the cup, so we use が after the カップ. Moreover, the water is causing the cup to overflow, so we use に after the 水【みず】 to mark that cause, similar to passive verbs where に is used to indicate the causal agent:
教【おそ】わる
- To be taught something, to learn something
Etymologically, this verb could be viewed as the passive form of 教【おし】える, to teach something → to be taught something, and thus by extension, to learn something. That said, it is still a 他動詞, and thus it can take an object marked with を.
If we were to say 使い方[が]【●】教わった, it would mean that the way of using something had been taught or learned something. This again doesn't make any sense -- what we want to say instead is that I learned how to use something. Much as in this English sentence, the I is the subject, and the how to use something is the object -- so in Japanese, we mark the subject with が (or optionally は, depending on context, etc.) and we mark the direct object with を:
奪【うば】える
- To be able to be stolen or taken by force
This is a potential verb, and these work differently. They essentially describe a quality of a thing as being [VERB]
-able. 分かる functions in a similar way -- it describes something as being understandable, which is why we say 何々[が]【●】分かる, marking the thing as the subject in Japanese.
This construction is puzzling when translated, as English uses transitive verbs in these cases, much like understand or like.
Your sample sentence describes the 物 as 奪えぬ or being unstealable. In English, if we called something unstealable and wanted to explain that in relation to who might try to steal it, we would say it is unstealable by someone. In Japanese, we again use に to mark the agent, similar to 溢れる above and similar to passive constructions. If we marked the 腕 with が, we would instead be saying that the 腕 themselves are unstealable -- which might still be the case, but it sounds a little funny and it definitely changes the meaning. :)