Programar para windows mobile
Como lo comenta el compañero skull leader, lazarus es una buena opcion, yo ya hice una aplicación sencilla y la he probado en el emulador que proporciona microsoft, así como en un dispositivo real, un symbol mc9000, utilizando tambien una base de datos portable, SQLite3, haciendo busquedas e inserciones, el inconveniente que puedes tener es que lazarus genera un ejecutable algo grande comparado al que pudieras obtener si programaras en C, esto es muy importante si el dispositivo que vas a utilizar tiene pocos recursos