The elimination of malloc()/free() would also be critical to efficiency for this reallocatable proposal. I suggest putting together some test cases that actually measure now important each of these features are.
As for compile time and run time tests for contiguity, I think the tests themselves (which only involves a few integer comparisons of the metatdata) are cheap compared to everything else being discussed (malloc()/free(), temporary copies, etc.). Most array operations, either with array syntax or with intrinsics such as matmul(), sum(), etc. do not currently require contiguous arguments. Contiguous arguments are mostly required for C interop (due to limitations of the C language compared to fortran) or with legacy codes (f77 style assumed-size and explicit-shape dummy arguments, etc.). While those are important in a practical sense (and we must already deal with those situations now), should the features of future fortran be held captive for these reasons?
This reallocation feature is going to be a major change. Just look at the complications already in the proposal in this discussion thread. Is there really a need to make a half-baked change, when, with just a little more effort and forethought, the programmer could control which features the allocatable arrays can possess based on the application needs at hand.