Thanks for your posting. You can copy/move test cases between projects using the Copy/Move Test Cases dialog on the suite/cases pages (the icon with two sheets of paper). This looks as follows:
(very similar to the Select Cases dialog for runs/plans)
Please note that moving test cases also removes related test results in active test runs/plans.
Regarding the XML exports: Attachments are currently not included in the XML exports but it's planned to look into this (and we already had this on our todo list).
Regarding the API: get_case/get_cases return all test case details and this also includes custom fields such as Preconditions or Steps. Could you please check if the fields were assigned to the project you tested this with? The custom fields are returned with their system name, prefixed with 'custom_' (for example, 'custom_preconds'):
(please see Response Content for an example)