Вы можете сделать это без периодической проверки, пространство имен Microsoft.WindowsMobile.Status позволяет подписаться на определенные свойства, связанные с подключением к данным устройства. Установив подписку SystemState, вы можете назначать события при изменении соединения:
using Microsoft.WindowsMobile.Status;
public void OnLoad()
{
var connectionState = new SystemState(SystemProperty.ConnectionsCellularCount);
connectionState.Changed += (o, s) =>
{
if (SystemState.CellularSystemConnectedHsdpa)
{
// show 3G Icon
}
else if (SystemState.CellularSystemConnectedGprs)
{
// show GPRS Icon
}
else if (SystemState.CellularSystemConnectedEdge)
{
// show Edge Icon
}
};
}