Hmm, well technically the border-top: none; or border-top: 0; (with out the px unit specifed) is more correct becouse then it's not appearing at all, but with 0px it's showing it but 0px width. Well, maybe it's not how CSS draws it but technically it would be like that.
But they both are valid and you can use any of them.
for any value that you assigned as 0, you dont have to put the measurement unit anymore.. coz whatever unit you put there, the browser still read it as 0, so save some space to reduce your css size.. :)
anyway, for "border", between "none" and "0"? i prefer "0"... why? coz usually we use border with 'value'.. so, by putting "0" will make it much easier and nice to see when you browse through your css.. :)