You did it involuntarily on this topic and other topics. But let's move on.
I can't say if it's the same of MUGEN. MUGEN only requires 256 colors images which sometimes are linked to char's palettes declared in the DEF file (and such sprites are normally depending on the palette), but some other times there's free palette system (example: explods can have "ownpal" and screenpacks/stages sprites can rely to their own palette too)...
Now I understand your confusion: the palettes doesn't work the way you think they work even in Mugen. There are many error on that sentence, let me clarify:
"MUGEN only requires 256 colors images which sometimes are linked to char's palettes declared in the DEF file"
They aren't sometimes linked - unless you use PNG24bits, they are ALWAYS linked to a palette. When you import an image to the sff, unless its a 24bit png, it will create a new index for that palette.
In SFF1, you have an option to use Shared palette images and non-shared palettes (they need to be after the shared ones). But they always have a palette.
In SFF2, this isn't true anymore, you just need to check if the image uses the same palette, or it will create a different index.
Which led us to the next point
explods can have "ownpal"
This is not true at all. OWNPAL is for palfx, which means the explod or projectile won't be affected by palfx/allpalfx, as the Mugen manual says
ownpal = bvalue (boolean)
Set ownpal = 1 to give the explod its own copy of its palette. This is desirable if you want to keep temporary changes to the player's palette (e.g. from using the PalFX controller) from affecting the color of the explod. Defaults to 0 if omitted.
This doesn't mean the explode/projectile will have a different and unique palette. You have to use remap for it (and it was added only in Mugen 1.1 if I am not wrong).
Now about this
I've just not understood how palettes are linked to sprites in OpenBOR
It works like this:
Whenever you load an sprite in OpenBOR, unless its a PNG24 (which works in some cases), it will load the palette the image have (because it have one).
It will do it for every image you load. Once an image was loaded with a palette, even if you use PALETTE NONE (something you should use only in specific cases), the image will be shown using the palette it was loaded with.
So, you set a palette using the PALETTE command
palette path/to/palette (which can be .gif, .pcx, .png, .act)
And it will be show using that palette,
even if the image has a different one. The color index on the color table needs to be same (like in Mugen).
To use a different palette, you can use ALTERNATEPAL for it. Works on the same way.
I tried my best to explain it.