Native speaker here. I don't have a problem with /d/, but somehow in words like "record", and in all -ed preterites, I voice it /t/, borderline aspirated. My English is native (think, dream in English, etc) but I grew up among a bunch of different accents, so I'd like to know where I got that from.
I assume what you're picking up on is final-obstruent devoicing. The "voiced" plosives aren't typically actually voiced unless surrounded by voiced sounds. When you say bed and pet in isolation, the consonants themselves are all (wholly or partially) voiceless. Onset /p/ is distinguished from /b/ by the period of aspiration following the burst, and coda /t/ is distinguished from /d/ by the shortening of the preceding vowel (pre-fortis clipping). Thus some refer to the "voiceless" phonemes like /p, t, k/ and the "voiced" ones like /b, d, ɡ/ as "fortis" and "lenis" consonants, respectively, to avoid the rather misleading labels.
Ladefoged's Vowels and Consonants has a fun demonstration of the effects of (final-obstruent devoicing and) pre-forits clipping here. Just by shortening the duration of the vowel, bad turns into bat in perception.