Think of who Beyonce was going up against for Best Actress...Meryl Streep? Annette Benning? Toni Collette? Renee Zellweger? No way Beyonce was going win over any of them. Those are bonafide actress, Beyonce is a singer who acts on the side.
My theory on the whole thing? I think they loved Jennifer Hudson so much in the movie they put her in the supporting actress so she could have a chance of winning award. I say that because she actually had the lead role. Plus, Jennifer Holiday won the Best Actress award when she played Effie, so Jennifer should have been up for Best Actress. But if you did that, she'd be going up against the big dawgs like Meryl Streep and Annette Benning...no chance there. Also, they couldn't put her song up against Prince's song from Happy Feet, because he's on a comeback. So putting her in the Supporting Actress made sense if you wanted her to have a chance at winning. But you could put Beyonce in the Best Actress and Best Original Song categories because, hey, she's got so many others awards already, she won't miss a Golden Globe.
It probably didn't go down like that, but why else would they put an leading actress in a supporting category?