Como dijo John Johnson, “un amigo” es vago y en mi opinión un poco formal y posiblemente evasivo, como si no quisiera decirles con quién cené. Suena como algo que diría un marido infiel.
Personalmente, probablemente nunca lo usaría. De hecho, probablemente nunca use “mi amigo” sin mencionar su nombre. Y eso solo sucedería si la persona con la que estaba hablando no conociera a la otra persona. Entonces, sería “cené con mi amigo John” si la persona con la que estaba hablando no conocía a John o “cené con John” si la persona conocía a John.