If you have a long running SP, do you log somehow its actions or just wait for this message?
\"Command(s) completed successfully.\"
We generally use logging tables and take care around transactions. We pretty much avoid anything that involves going outside of SQL Server (e.g. writing to filesystem, calling external services, .NET assemblies, etc.)
We also try to avoid cursors -- is it possible your proc is long running because it's inefficient?