Mistake 1: Forgetting that profiles represent which cells are already filled, not which cells are empty. If you invert the meaning, your transitions will be backwards. Mistake 2: Not handling the base case correctly.
You must start with dp[0][0]=1 (or the equivalent for your indexing). Starting with all zeros gives zero tilings. Mistake 3: Off-by-one errors in bit indexing. Bit i corresponds to row i, but if you're not consistent about 0-indexed vs 1-indexed, you'll set wrong bits. Test on small cases.