First you public folder needs to be of type task or calendar. You likely tried to send a task to a public folder intended for normal email like posts. If it helps, remember the folder view for Outlook has separate folders for Calendar, task, and Inbox.
Alarms? I don’t know about Exchange 2003 yet but In Exchange 2000 you couldn’t get public folder to trigger alarms without special Office application coding (.NET now) .
Remember your calendar and tasks are treated as local by Outlook despite residing on the server. Outlook therefore runs predefined client-side code against the content of the various predefined folders in Outlook. That code runs periodically (frequently) and is what recognizes the alarm needs to sound.
Public folders are normally treated as remote and only the special server-side code runs against their content. That server-side code does not run constantly but only when new messages arrive or content otherwise changes. That keeps the server from being loaded down as if every email client in the company opened Outlook on the server console. There is some other reason related to the fact that the public folder is shared as well.
With special Office coding you can make public folders sing and dance. The most straightforward being to look at the content of attached public folders from the end-users’ machine, tapping that workstation for CPU power. Messing with server-side is riskier and much more complex and puts a bigger burden on the server.
That said I seem to remember that you could get the provided server-side scripts (built-in versus Office custom code) to pull tasks or calendar entries by time and send messages to everyone on the access list. If you can figure out how to make the message sent be in calendar or task format you would get an alarm. However there was no way to recall the alarm if it was changed or deleted — so I nver finished researching that as users said that would be very annoying if the meeting time got bumped.