Updating all members of a struct in database
One way you can simplify this code and also make it more forward compatible with future addition of new fields is by using a simple array that stores the register keys, database field names and a pointer to a function that transforms the register value in the adequate way. You should also be able to remove all duplicate code in the process.

The following example uses auto and C++11 lambdas to keep everything close together, but you can easily replace that by plain functions if you don't have access to a C++11 compiler. Also note that I don't have enough context to pick more meaningful names other than commands and xform, but you should be able to find better ones.

void FpgaAdapter::UpdateCpGsmDelayTime()
{
    auto xform1 = [](Uint32 regValue) { 
        return static_cast&lt;Uint32&gt;(regValue * 6.51); 
    };

    auto xform2 = [](Uint32 regValue) { 
        const float tmp = (0xff &amp; regValue) * 32.55;
        return (0xff &amp; (regvalue &gt;&gt; 8)) * 1000 + static_cast&lt;Uint32&gt;(tmp);
    };

    static const struct {
        Uint32 regKey;
        const char * dbField;
        Uint32 (*transform)(Uint32);
    } commands[] = {
        { 0x98, "t14_cp",    xform1 },
        { 0x99, "T14_au",    xform1 },
        { 0x9c, "Tdl_fib_f", xform1 },
        { 0x9d, "Tul_fib_f", xform1 },
        { 0xa0, "Tdl_cp_f",  xform2 },
        { 0xa1, "Tul_cp_f",  xform2 }
    };

    for (int i = 0; i &lt; sizeof(commands) / sizeof(commands[0]); ++i) {
        Uint32 regValue = 0;
        if (ReadReg(commands[i].regKey, regValue)) {
            const Uint32 result = commands[i].transform(regValue);
            SetStructElementToDB("CpGSMTimeDelayQuery", commands[i].dbField, result);
        }
    }
}