Consider the following stored procedure..
CREATE PROCEDURE SlowCleanUp (@MaxDate DATETIME) AS BEGIN PRINT \'Deleting old data Part 1/3...\' DELETE FR
Yes you should be able to get the message to print immediately if you use RAISERROR:
RAISERROR('Hello',10,1) WITH NOWAIT