Steam's offline mode is quirky, but as far as I know its not related to CrossOver. Here's my personal steam offline mode cheatsheet:
Not all those steps are always necessary, but they can help avoid a few common pitfalls. Especially the first one can help a lot.
*) When online, launch every app once, to make Steam unpack its files. Steam refuses to run apps in offline mode if they have never been started, even if they're 100% downloaded.
*) Make sure that "save login information" is enabled in the Steam options
*) Restart Steam in offline mode via the menu entry. I think Steam sometimes has to prepare a few more things for offline mode to work.
*) After Steam restarted, make sure all your games run. If they don't, go back to online mode and start the failing games once, then go offline again
*) Exit Steam, disable your internet connection, and try to start Steam again
*) Note that Steam will be confused if you share one installation between Windows and CrossOver, or if you share one installation between different bottles or OSX user accounts. Offline mode will only work in one environment, if you try to start Steam elsewhere it will invalidate the ClientRegistry.blob file and you might have to go online again.
If it starts, the offline mode should be ok as long as you don't go online. If you go online, pending updates may break some games.
If the firewall silently drops any Steam data packages instead of rejecting them(e.g. DENY instead of REJECT iptables rule), Steam will try to connect for a while. Either disable the internet connection entirely, or wait for it to give up.