The sounds normally characterized as voiced stops in Spanish, /b/, /d/ and /g/, each have two allophones (contextual variants), as you have noted. One is pronounced as a true stop (the one you call "strong"), while the other (the "soft" one) is pronounced as a weak fricative or an approximant, and sometimes elided (dropped). This kind of weakening is called lenition. For the most part the "strong" allophones are found at the beginning of words or after another consonant, especially nasals and liquids (/r/ and /l/). This varies with dialect, but we need not concern ourselves with the specifics.
Word-initial voiced stops remain always strong, moreover, only when the word is pronounced in isolation or with special care (e.g. when the speaker wants to emphasize them). If there is a word ending with a vowel before it, the word-initial voiced stop will be lenited just as if it were inside the word and surrounded by vowels. In your example, «cada dos semanas», the initial /d/ in dos will always be "soft", because cada is a function word that always gets attached to the next word, so it's as though you had pronounced *cadadós.
This is not liaison as in French; no new sound is appearing to link the two words (enchaînement). But depending on the analysis, it can be considered a related kind of change. French liaison makes a "hidden" consonant appear at the boundary between two words when two vowels would otherwise come into contact; Spanish lenition changes the quality of a consonant in that same environment. The effect in both cases is to soften the transition between the vowels.
There are differences, though. French liaison takes into account grammatical factors that Spanish lenition doesn't. In Spanish, if there are two vowels with a voiced stop in between and no forced pause is inserted, then the voiced stop will weaken, always.
As explained elsewhere, /b/, /d/ and /g/ all become lenited in certain contexts. When I say /b/ that's the sound that you'll find written as b or v, which are pronounced the same (no matter what anyone might tell you: they mean the same sound, always). And /g/ you can of course find written as g (as in gato, gota, gula) or as gu before e and i (as in guerra, guitarra); not the same as the g in gel or gil (which sounds the same as j). All of these can weaken to the point of disappearing altogether between vowels in some dialects and in fast speech.
There's a particular case that you might run into, having to do with "S-aspiration". The sound /s/ is sometimes "aspirated", pronounced [h] (like an English h) when syllable-final. This aspiration is also a kind of lenition or weakening, and it can also turn into elision (the sound is dropped altogether). But this weakening or disappearance is normally avoided, when the sound /s/ is at the end of a word, if the next word begins with a vowel. This is in fact rather similar to French liaison.
For example, a speaker might pronounce «los patos» as [lohpátoh], aspirating the two /s/ sounds; but in «las águilas» they will pronounce [lasáγilah] ([γ] = lenited /g/). And «los patos y las águilas» would come out as [lohpátosi lasáγilah] (since y = /i/, a vowel).
This is a very simplified explanation of actual S-aspiration in Spanish. Some dialects do not have it and others do different things with it, but that's the idea.