Здесь уже есть несколько противоречивых ответов.
Если честно, я не совсем уверен, как WinCE работает с соединениями. Я не думаю, что есть ConnectionPool.
Но общая закономерность в .NET - держать соединения открытыми как можно короче. Это повышает надежность и предотвращает утечку ресурсов. Убедитесь, что вы знаете о шаблоне using (var conn = ...) { ... }
.
Так что я бы сказал: переходите ко второму варианту и сохраняйте соединения дольше, только если вы действительно испытываете проблемы с производительностью, и если причиной является открытие соединения. Я не думаю, что это будет с SqlCE