Сделать можно — но без своего сервера не обойтись.
Как это сделать: пользователь делает in-app покупки (покупает виртуальную валюту, стафф и т.д.), сразу после подтверждения оплаты приложение коннектится к удалённому серверу и фиксирует операцию покупки, далее при запуске приложения на другой платформе делается запрос к удалённому серверу и проверяется было ли что-нибудь куплено.
Технически я бы оценил это как очень сложную задачу, потому как кроме синхронизации ещё нужно заботиться о безопасности.
Кстати, пример можно взять Evernote — все заметки хранятся на удалённом сервере, любой девайс их каждый раз синхронизует (если бы за каждую заметки пришлось бы платить, то оплата была бы естественно на платформе где эта заметка оставляется, т.е. был бы ваш описываемый случай)