You no longer should assign $ionicLoading.show() back to a $scope variable. You should just treat it like this. Think of it like a global service, now there is only one loader instead of previously where they were created on demand and assigned to variables.
Its working for me, though if you have $ionicLoading.hide(); execute before the delay, it will never show the loading screen. The delay only holds the display of the loader for so many milliseconds, but if the hide method runs before it cancels it.