Past tense stress
In the past tense, ex. 'él habló', do I put the stress on the last syllable whenever it is accented? Or is the accent only there to distinguish it from other forms, such as '(yo) hablo'?
Yes, the accent denotes stress in this case. If you go here and hover your mouse over the specific conjugations it gives you the option to hear the pronunciation spoken by a native. I actually think the difference is more noticeable with 'hable' and 'hablé' and in the conditional examples where the stress is on the í in the middle of the verb.
However, with words like cuál/cual, qué/que and dónde/donde the accent is added only to indicate that it is part of a question, not for stress.
Great, thanks a lot! So, if I understand correctly, even though accents are sometimes used only to distinguish between words, I can always count on an accented syllable to be stressed?
If you're specifically talking about those like "hablo" and "habló", then yes, the accented syllable definitely has to be stressed when spoken; therefore, "yo HABlo"-->"él habLÓ"; "yo coCIno" -->"él cociNÓ". While with "quién" - "quien"; "cuál" - "cual"; "qué" - "que", the stress (when spoken) would still be the same since they're one-syllable words anyway. The bottom line is when there's an accent in the written word, stress that syllable when you speak it.
Monosyllabic words like 'qué' / 'que' and 'cuál' / 'cual' are pronounced the same way if you pronounce them individually, but in a sentence, the one with the accent is stressed. In Spanish unstressed words are pronounced alongside the next stressed word, so they sound as one. For example, the sentence "Te lo di" (I gave it to you), contains two unstressed words, 'te' (unlike té which is stressed), and 'lo', so all three words should sound as one with the stress on 'di', but if you say "Te di té" (I gave you tea), you only have one unstressed word (te), so it should be pronounced alongside 'di' as one word, whilst 'té' should be pronounced on its own, with stress, so you're actually pronouncing two words. It's one of those things Spanish speakers do without noticing.
"HAblo" and "haBLÓ",
Edited: It is relevant that the syllables are ha and blo. "hab" is not possible in common Spanish words.
Er, no. I believe that there is no difference in sound between words like cuál and caul and that the accents only exists to differentiate them in written form.
There are other examples of this. A few years ago there used to be accents on some written forms of words known as 'demonstrative pronouns' (éste, éstos, ése etc) to differentiate them from the 'demonstrative adjectives' that you may already be familiar with (este=this, ese=that etc). But they have recently been scrapped as they were deemed confusing clutter. PLUS they were unnecesary, since they had no effect on pronunciation anyway! Which kind of empasises the case that there's not always stress on accented syllables.
Always count on accents. They mark the stressed syllable in unexpected positions (the expected stress would be "hablo"). The only exceptions could be interrogatives vs relatives ("quién" vs "quien") but it seems like the interrogative forms have an independent stress and the relative forms are unstressed and attached to the next word. Ask to a native speaker to say "Juan, ¿quién es tu amigo?" and "Juan, quien es tu amigo, ...." I can't tell it, because that information biases my perception.