I loved this question when I read it. "It takes me back", as the greybeards say :) TinyOS "went public" in 2000 - about a year after the phrase "Internet of Things" was coined, according to Wikipedia. A long time ago, in a galaxy far, far away... OK, down to business:
I believe the answer to your question as to whether or not motes, TinyOS, NesC, etc are "good options nowadays", is an unqualified "Yes". I'll explain why.
I learned of TinyOS in 2003; it was already a fairly mature system by then, and being used in some interesting applications. "Motes" is a term for the hardware, as in "remote sensor". Each mote had a processor, a battery, a radio (not WiFi) and some sort of a sensor. The first three components were common across a variety of motes, whereas the sensor was generally peculiar to the application; light, heat, magnetic fields, etc. If you're interested in details, numerous papers (mostly academic and wordy) have been published that document the design of TinyOS... here's one I like.
As a system, TinyOS and the mote were designed to accomplish an objective with extremely scant resources. For example:
- TinyOS occupied about 400 bytes of memory; a typical application 12-16 kB.
- TinyOS runs on minuscule 8-bit micrcontrollers; e.g. Atmel's AT-90L, TI's MSP430 and the more modern ATtiny9 from Microchip.
- NesC code is more like part of the 'kernel' than a traditional application; system efficiency demanded this approach.
- Low duty cycles, and a system architecture that catered to energy conservation allowed batteries to last for a year or more (application dependent of course).
Delivery of sensor data to its ultimate destination from broadly-dispersed motes that might be dropped from an aircraft, free-fall style, into an extremely hostile operating environment demanded clever routing algorithms. "Flexibility" was thus the key driver in design of TinyOS' communication stack. Consequently, no existing communication infrastructure is needed. This is of course both empowering and challenging. A number of routing protocols were developed, and the open-source licensing encouraged adoption and modification of these protocols.
As far as TinyOS being abandoned, or stagnant, I don't feel that's the case. The TinyOS GitHub repo shows recent activity, and suggests that it's being maintained and cared after. That said, TinyOS was never going to attract the "electronics-and-software-as-a-hobby" crowd; a crowd that didn't really exist until recently when Arduino and Raspberry Pi became popular.
And that brings me to the point in this elaborate "answer" to your thought-provoking question. I don't think there is a cut-and-dried, matter-of-fact answer. I think the answer comes down to this: We humans are more like sheep or lemmings than we like to believe. Raspberry Pi, Arduino, etc. are products that have attracted large followings of the curious and revenue for those who traffic in gadgets, but that has little or nothing to do with their suitability for a particular application. I'm not suggesting that one re-invent the wheel for each new problem, but at the same time, one (or two) size(s) do not fit all. Use the right tool for the job.
I know from your question that you understand this, but perhaps haven't thought of it in this way. Frankly, neither had I until your question jarred some loose rocks. So yes, I think you can still build some very elegant things with TinyOS, but you may have to do it with fewer support resources. Or, maybe there will be a "TinyOS Stack Exchange" in the future? Ha ha - don't hold your breath :)
I'll close with this: “The truth is often what we make of it; you heard what you wanted to hear, believed what you wanted to believe.”
As you think about how to build your devices, and aggregate them into systems, Phil Levis offers some food for thought in this brief video.
And as far as resources to support TinyOS development, here are a few that I found while researching my "answer" here: