4294967296 = 2^32

Yes, in deed! There seems to be an error in data types: one procedure treats longitude as signed integer value (correct!), another procedure “thinks” this would be an unsigned integer value (false!). In both cases the number is stored in the same way - hence it’s just a question of interpreting this data.

Well… what program is responsible and where is the error?

If I understood you right, you took an osmconvert-written PBF file. This file can be interpreted correctly by osmconvert but not by Osmosis.
I still cannot say if there is an error in osmconvert’s writing procedure or in Osmosis’ PBF reader. I rather would guess it’s an error in osmconvert, but I’m not sure at all, nor do I know where exactly this error could be. :frowning:

Will think about it and look into the code…