Well yeah, but I thought the point was they were equivalent: i.e., one is simply syntactic sugar for the other.
It doesn't seem like the non-finally version will necessarily run in every case. In the instance of try/finally, a runtime exception might occur as well as a checked exception. finally will always run. But a.cleaup will not.