Насколько я знаю, C ++ в настоящее время не может использоваться для разработки приложений WP7. Я бы проверил это, прежде чем пытаться пойти слишком далеко по пути кросс-совместимости.
Тем не менее, пользовательский интерфейс между WP7 и iPhone действительно очень отличается - внутренний код настолько мал по сравнению с хорошо написанным пользовательским интерфейсом позже, я просто напишу два отдельных приложения. Это может показаться экономией времени, но либо ваше приложение будет выглядеть так, как будто оно не относится к одной платформе, либо к другой, или вы будете тратить больше времени на то, чтобы совместимые компоненты работали нормально на двух платформах.