Derp! Yes I went int -> double -> float whilst I was fiddling with it. Obviously int/float are the same size. Anyway, I don't think there's a difference between choosing float or int here. Still have to pay the casting costs. I like the notion of fractional ms that float gives you though.

I considered a struct but it's fairly big. No idea if it would perform well at that size.