I can't reproduce any problem. I tried following your steps:
1. Create a new sprite
2. Add two frames each with an origin of (0, 0)
3. Save and close
4. Reopen C2
5. Double-click the sprite and add a new frame
6. Open another image file
7. Set the origin to (0, 0) again
8. Run project
At every point everything appears fine.
Please remember to be as clear as possible when reporting bugs - step by step repros are useful, because I'm not exactly clear precisely what you are doing when you say "then "open" the file containing the image, verify the origin is 0,0". My interpretation is above. If you add a new frame and click the open icon to import an image, it is by design that the origin defaults to the middle. So I'm not sure why you would "verify the origin is 0,0" because it never will be; so I interpreted your steps as "set the origin to 0,0". If I've done something different please let me know.
Edit: collision polygons are omitted in the XML if they are the bounding box. Note your example includes a poly which is very, very close to, but not exactly, a bounding box. To avoid this problem always right-click and select 'set to bounding box', since doing it by hand can cause these tiny offsets, and collisions are faster if they are an exact bounding box.