Visual Basic non funziona su nessuna piattaforma diversa da Windows. Tuttavia, se guardate Crossover, hanno strumenti disponibili per portare la vostra applicazione Windows a lavorare su Mac. Questo viene fatto attraverso Wine, un'estensione della libreria di Windows per Mac e Linux.
La chiave qui è che fino a quando non riscrivi l'applicazione in un linguaggio multipiattaforma, l'applicazione avrà un aspetto strano in Mac OS X, ma funzionerà (anche se potrebbe richiedere qualche ritocco). Se l'applicazione usa .Net potreste aver bisogno di esaminare anche Mono.
I migliori linguaggi per lo sviluppo multipiattaforma (secondo me) saranno C, C++ o Objective C, (C# è un linguaggio solo per Microsoft e solo in rari casi è possibile farlo funzionare su altre piattaforme), o se non vi dispiace abbandonare la strada dell'eseguibile nativo, potreste considerare i linguaggi JIT, come Java o Python. Anche Perl è disponibile su più piattaforme, ma trovo che ci siano ancora troppe librerie dipendenti dal sistema operativo. Si potrebbe anche considerare qualcosa come Flash Builder per la creazione di applicazioni Adobe Air, che sono neutrali per il sistema operativo.
Il mio linguaggio preferito per lo sviluppo multipiattaforma è Java. Il prossimo è C. Objective C è un linguaggio molto bello che è disponibile su Windows e Linux, ma in questi giorni è davvero un linguaggio per Mac OS X, poiché le parti potenti che lo fanno funzionare sono di proprietà di OS X. Ci sono comunque librerie completamente funzionali anche per Windows e Linux, ma potrebbe essere necessario più lavoro di quanto desiderato per fare veramente un'applicazione cross platform usando Objective C.