The prime example is C# and .Net. 95% of C# questions are also tagged .Net. The reverse isn't the case so it's not a synonym. Basically, C# is a child of .Net.
Would it be possible to create some sort of one-way linkage like this?
That almost sounds like an automated method of what I have been doing for a while now when it comes to tagging. I will generally tag something in it's broad category (example sqlserver) and then use the other tags to whittle down the specificity (sqlserver2000, sqlserver2005, sqlserver2008). This would allow for someone to subscribe to the broad tag sqlserver and still see my problem which is specific to sqlserver2005.
Your example of C# and .NET I think showcases a lot of examples of people tagging wrong. If their problem is specific to the C# language I believe it should be C# and you shoudln't have to include .NET at all. If your question is a confusion in the actual .NET framework itself (and therefore not generally C# specific, or VB, etc.) The C# tag isn't exactly necessary.
Again, this is generally I how I view it.
One question I have would be, does this automatic linkage mean that the tags will automatically display that are linked, and if so, would this take away one of your five allowed tags?
IronPython is .NET, but it's not C#. And C# questions don't have to be .NET related.
Also, Jeff said in one of the early podcasts (podcast 45) that they specifically decided against a hierachical categorization. I think that makes sense; there's always too many corner cases.
"C# => .Net" is also a good example of why this might not work, thanks to the growing community of mono users.
Currently there is a maximum of 5 tags on SO, and sometimes this could imply restriction on what might go into tags or not. Thus I would suggest some sort of hierarchy, though I think the implies tags should be marked as just implies, so people can sort out which questions are directly related to the tag or not.
An example of extensive tag hierarchy can be shown in jquery-ui. Say we have an question which is related to jquery-ui, and in particular to the plugin "draggable", "sortable", and "droppable" (they can often be asked in unison), the question involves ajax communication using JSON with an PHP server; We then have following possible tag hierarchy:
Off course those who is watching interpreted-language shouldn't have question tagged as draggable flashed fully as an question directly tagged as interpreted-language would do; perhaps only the box saying "draggable" should be marked then to show it implies something you are "watching".