Hmm, shoot, I am not sure which data types aren't supported. I'm surprised number type fields are like that.
Anyway, the first method is a best practice, because it's much better to create site columns (even site collection columns) so that the same column can be re-used in other places on your site (or site collection). Creating columns locally in a library is the least useful way to leverage metadata in SharePonit 2007 (it was all we had in 2003).