It is not compulsory; if the frame with the MPLS shim header is over the interface MTU then it will be fragmented by IOS unless the DF bit is set in the IP header. It is certainly recommended to set the MPLS MTU at least four bytes greater than the interface MTU - and more if you have more labels in your label stacks.
Problems can arise if you are running MPLS services with mismatched MTUs, however. For example, a frame transported by an MPLS L2VPN that needs to be fragmented but that has the DF bit set will cause the intermediate LSR to drop the frame and send a "fragmentation needed but DF bit set" packet to the source. . . except that the source of the IP packet is not reachable by any LSRs on the P network. The source of the frame will never be able to detect that it needs to reduce its MTU.
You should always set the MTU of the MPLS network to be greater than the MTUs of the transported services if possible.
I don't understand your question about baby giant frames.
If you're doing MPLS VPN's, you're going to want at least 1508 MTU since two labels are used at ingress (1 for specific site's VPN prefixes, 1 for MP-BGP peer).
Baby giants are just a term for slightly larger than standard frames...I don't think there's a specific max size indicated by any standard. It depends on what the switch supports (jumbo frames or not) and what application you are trying to accomplish (ie. MPLS VPN).
1508 would be the minimum, with probably no more than 1516 needed (you rarely see a label stack with 3 or more labels).
Bradford, doesn't intermediate LSR's send ICMP "fragmentation needed" messages along an LSP towards egress LSR's, who then relay those messages back to the IP source? I was actually just reading this chapter in MPLS Fundamentals: http://www.ciscopress.com/articles/article.asp?p=680824&seqNum=6