"stopped t" vs "full t"
What you call a "stopped t" is just a "normal" t, called "voiceless alveolar plosive" by linguists. Its IPA symbol is [t].
What you call the "full version" is in fact an aspirated t ("aspirated voiceless alveolar plosive") and is written with an superscript h after the t in phonetic script: [tʰ]. This symbol wants to express, that there is a tiny h-sound (like "h" in "hat" or "house") immediately after the t-sound.
Attention! This must not be confused with the sound of the letter-combination "th" in English words which is written in IPA symbols either as [ð] ("th" in "this") or [θ] ("th" in "thin"). [tʰ] means a t-sound followed by a weak h-sound. Similar for [pʰ] and [kʰ] which mean an aspirated p- oder k-sound.
The aspirated t-sound [tʰ] is much more common in German than the "normal" t-sound [t], while many other languages like Italian do not have aspirated sounds at all. The manner of German native speakers to aspirate almost every t-sound is one of the major aspects of their German accent when they learn Italian as foreign language.
So normally, the pronunciation of a German word like »Tal« in IPA symbols should be written as [tʰaːl]. But since this would confuse many English speakers, who are used to pronounce every th they see as [ð] or [θ], and because almost every German t is aspirated anyway, this is not done.1 But that there is an h-sound after the t becomes visible, when you read German texts published before 1901, because words like »Thal« (now: Tal) or »Thür« (now: Tür) were spelled with an h after the t before the orthographic conference of 1901 to mark the aspiration even in written German. And in loanwords like Theater and Thron this spelling still exists.
So, when do you speak [t] and when [tʰ] in German?
I have not found any sources that explain this, but I can tell you what I, as a native German speaker, notice when I listen to other German native speakers. Maybe you will find additional information from other people in the comments:
- Use an unaspirated [t] (the one you call "stopped") only before consonants.
- Use an aspirated [tʰ] (the one you call "full") before spoken vowels and at the end of words and syllables.
Note that I have written "spoken" vowels. This is important, because there are many German words where a vowel is written, but no vowel is spoken at all. You example »hatten« is such a word:
- spelling: "hatten"; pronunciation: [ˈhatn̩]
The IPA symbol [n̩] means a vocalized n-sound (a hummed n that is used instead of a vowel). And although it is a vocalized sound, it still is not a vowel and therefore the t before it should not be aspirated: You press the tip of your tongue to the dental ridge immediately behind the upper incisors to stop the air flow, which produces the t-sound, but then you don't release the tongue (which would produce the aspiration), but you leave it where it is and hum trough the nose which produces the n-sound.
Final obstruent devoicing (Auslautverhärtung)
There is a phenomenon that also should be considered when talking about the pronunciation of the letters "t" and "d" in German:
When you listen to a speaker from northern regions of Germany, you will hear, that they pronounce the letter "d" at the end of a word as if it was a "t". Lets take this sentence as example:
Wenn dich der Tod holt, bist du tot.
When death comes for you, you are dead.
The spellings of the noun Tod (death) and the adjective tot differ (besides capitalization) only in the last letter. But in most parts of Germany, both words are pronounced as [toːt], i.e with an unvoiced consonant. When talking about pronunciation of consonants, "unvoiced" is "hart" (hard) in German and "voiced" is "weich" (soft). So we say, that "das weiche D" (the soft/voiced d) is pronounced like "ein hartes T" (a hard/unvoiced T) at the end of the word.
But this phenomenon is much weaker in southern regions (like Austria, where I live). Some people say, that it even doesn't exist in Austria, Switzerland and southern regions of Germany, but I would just say its much weaker here. So in Austria you will hear a noticeable difference between »Tod« and »tot«, although the »d« in »Tod« sounds still harder or less voiced than the »d« in »Mastodon«. There is a continuum of d/t-sounds, and the »d« in »Tod« is somewhere in the middle, closer to d than to t in Austria, but it's at the t-end in northern parts of Germany.
BUT ...
... this has nothing to do with the topic of your question. Final obstruent devoicing has to do with the shift from [d] to [t] (and [b] to [p] and [g] to [k] and also [z] to [s] in regions where [z] is used). Final obstruent devoicing has nothing to do with aspiration. Both, [d] and [t] will be aspirated in German at the end of a word, so this doesn't change. It just becomes a little bit stronger, because the aspiration of [d] is more subtile than that of [t].
1 There is a similar issue with the German sound for the vowel »a« that is more centralized spoken in German than what is meant by the IPA symbol [a] and therefore should be written together with the diacritic symbol ̈ , but then it would become [ä], which would be very confusing for German native speakers, because there is the German umlaut letter »ä«, and it's pronunciation is very different form the sound described by the IPA-symbol [ä]. Instead the German »ä« is pronounced as [ɛ] or [e]. And so, the centralization of the German a is not marked in German words in IPA symbols, and also the aspiration of the German t is also not marked in German words in IPA symbols.