that makes a lot of sense :) It stinks, but makes sense nonetheless. You are correct that the shipping is calculated solely on the product weight (and dimensions if available). I'm not sure if giving the attribute a weight value will solve this problem? You might give that a shot.
As far as differing prices go, I haven't been able to duplicate what you are describing but I'm not giving up yet. Can you give me the weights and origins for products a, b, & c that you were testing with, along with the zip code they are all shipping to ? Just curious to see if I get the same results that you're seeing.