Pete,
The purpose of stroed procedures is a place to put code that relates to the data stored in the database. Your SetCaption function is probalby better set up as a prg by itself. As a prg it will be available to all programs and forms regardless of teh currently selected database.
Stored procs in a DBC are ONLY available when that DBC is the current database. The current database can be established using the SET DATABASE TO ... command. The stored procs in a DBC are also always visible to the tables that are in the dbc, as in calling a stored proc from the Valid property of a field in a table.