Różnią się tym, że w pierwszym przypadku tworzysz celowo nową bitmapę, podając jej przy tym image, z którego ma zostać wygenerowana, a w drugim robisz chamskiego casta.
Casty w C# nie są „chamskie”. Teoretycznie nie zadziałać może tylko z tego powodu, że Bitmap dziedziczy po Image, więc teoretycznie ten Image niekoniecznie jest typu Bitmap.
Tylko teoretycznie, bo w praktyce nie spotyka się obiektów typu Image które nie byłyby jednocześnie typu Bitmap (a gdyby się spotkało, to nasz kod miałby dużą szansę wywalić się z innego powodu).
Różnica między new a downcastem jest przede wszystkim taka, że w pierwszym przypadku tworzysz nową bitmapę, co trwa i zajmuje dodatkową pamięć, bo obrazek musi być skopiowany. W drugim masz tylko skopiowanie referencji.
Pytanie więc, czy potrzebujesz kopii obrazka, czy wystarczy ci tylko pozbycie się problemu niezgodności typu Image a Bitmap.