I don't have any write protect-able USB sticks so I couldn't test to see how they'd appear.
What I can say is that a USB thumb stick on my system appears in the /sys/block hierarchy and in viewing the "ro" file, it shows zero. Since my stick is read-write, then my assumption is that this file would show a one if the stick were read-only; a.k.a. write-protected.
Code:
cd /sys/block/sdf
me@my-desktop:/sys/block/sdf$ ls
alignment_offset bdi capability dev device ext_range holders inflight power queue range removable ro sdf1 size slaves stat subsystem trace uevent
me@my-desktop:/sys/block/sdf$ cat ro
0
But wouldn't the user figure this out eventually? Why bother to hold their hand so much. Once they try to write to it, won't it gripe at them at that point? Or am I missing something?