Looks like 4xxx hardware is a bit limited, shoe-horning opencl onto it was a stretch, particularly the local memory stuff (which probably means you're using barriers?): http://devgurus.amd.com/thread/124649
BTW that was the first hit from searching using google for "hd4850 local work size", so a little digging would've saved you some time.
If you've set the local memory to X bytes, it will only consume X bytes per work-group, obviously local memory sizes must be set explicitly (either hardcoded or calculated). Hardware might be capable of executing N work-groups per processor, in which case it will be NxX physical local memory used, but you don't have direct control over that as such.
I see. Thanks for the reply. You're right I should have googled a bit about my GPU, though at first I did not suspect it was a hardware issue, I thought it was a software problem.