אתה סותר את עצמך
אם תכתוב ב - Win32, אתה תצטרך להתחיל פחות או יותר מההתחלה כדי להעביר ללינוקס.
אם ההמרה ללינוקס קריטית עבורך, הייתי ממליץ לך לכתוב דווקא בJAVA, אבל יכול להיות שתשלם בביצועים (אם כי זה בכלל לא בטוח).
אם הביצועים חשובים לך, כתוב את האפליקציה בC++, ונסה להשתמש בכמה שפחות API של חלונות: השתמש בBOOST וב - QT.
 
לגבי שרת HTTP: כמעט בכל שפה מישהו כתב שרת. בחר את השרת שקרוב לליבך והתקן אותו.
יש הרבה שרתים שניתן להטמיע אותם (embedded) באפליקציה. TOMCAT למשל מאפשר את זה, כך שאם אתה כותב בJAVA, אתה יכול להטמיע את השרת בתכנה שלך.
מצד שני יכול להיות שהפתרון הנכון הוא להקים שרת HTTP, ולהקים את האפליקציה שלך ולתת להם לדבר אחד עם השני.
 
פרט יותר על הפרוייקט שלך ואפשר יהיה לייעץ יותר טוב על הארכיטקטורה.