A few years ago I figured out how GBA stores it's colors. It's values go from 0 to 31. So, to get to the actual RGB value you must multiply by 8. I grabbed the RGB values of the two layers. Layer A is the transparent layer while Layer B is the underlying layer. I took a screenshot of the blend in action. This is C.
A = 224, 224, 224
B = 0, 64, 120
C = 136, 176, 200
Converted into GBA colors gives the following:
A = 28, 28, 28
B = 0, 8, 15
C = 17, 22, 25
Now, if we use the formula given in the first post (C = (wA * A) + (wB * B)) where wA = 0.625 and wB = 0.5625 (these value are given via the IO Viewer) with the GBA colors then we get the following:
C = (wA * A) + (wB * B)
R = (0.625 * 28) + (0.5625 * 0)
G = (0.625 * 28) + (0.5625 * 8)
B = (0.625 * 28) + (0.5625 * 15)
R = 17.5 + 0
G = 17.5 + 4.5
B = 17.5 + 8.4375
R = 17.5
G = 22
B = 25.9375
As you can see, the results have to be floored to match up with the in-game results. But, the math works. This tells me how the formula works but I still don't know how to apply it. In GIMP, there is a simple slider for the percent of transparency to add to a layer. I'll fiddle around with it some more.