Ok, hopefully the necro justifies the double post, because I'm about to post Barbara's winning strategy for the 3x3 case.

First, let's simplify things by naming the matrix and its entries:

M=\begin{bmatrix}

m_{11} & m_{12} & m_{13} \\

m_{21} & m_{22} & m_{23} \\

m_{31} & m_{32} & m_{33}

\end{bmatrix}

WLOG, Alan's first move will be either m

_{11} = 0 or m

_{11} = 1.

Case 1: m_{11} = 0Barbara plays m

_{12} = 0. If Alan plays any move other than placing a non-zero in m

_{13}, Barbara plays m

_{13} = 0 and wins. So, let Alan play WLOG m

_{13} = 1. Notice that now

\det M = m_{21}m_{32} - m_{22}m_{31}, so Barbara's next two moves, no matter what Alan plays, will be m

_{21} = 0 followed by either m

_{22} = 0 or m

_{31} = 0.

Case 2: m_{11} = 1In this case, Barbara plays m

_{22} = 0. Let's now break Alan's second move down to a few sub-cases written in their most general terms (I put Alan's non-zero moves as 1, but the strategy holds no matter what he chooses).

Case 2.1: m_{12} = 0, m_{21} = 0, m_{23} = 0, m_{32} = 0Clearly, in all these cases, Alan moved has lined two zeroes up, so Barbara just has to put the third zero in the row or column.

Case 2.2: m_{13} = 0 (equivalent to m_{31} = 0)Barbara plays m

_{33} = 0, forcing Alan to play m

_{23} = 1 to avoid an all-zero 3rd column. Barbara then plays m

_{32} = 0, and Alan can't block both the 2nd column and the 3rd row from becoming all-zero at Barbara's next turn.

Case 2.3: m_{33} = 0Barbara plays m

_{13} = 0, and it continues as for Case 2.2.

Case 2.4: m_{12} = 1 (equivalent to m_{21} = 1)Barbara plays m

_{23} = 0. To keep the 2nd row from being all zeroes, Alan must play m

_{21} = 1. Barbara responds with m

_{33} = 0, forcing Alan to play m

_{13} = 0. At this point,

\det M = m_{32}, so Barbara just sets this to zero to win.

Case 2.5: m_{13} = 1 (equivalent to m_{31} = 1Barbara plays m

_{32} = 0, and Alan must avoid the zero 2nd column by playing m

_{12} = 1. Now

\det M = m_{23}m_{31} - m_{21}m_{33}, so like in Case 1 Barbara just zeros the two terms out one at a time.

Case 2.6: m_{23} = 1 (equivalent to m_{23} = 1)Barbara plays m

_{32} = 0, and like Case 2.5 Alan must play m

_{12} = 1. This time,

\det M = m_{31} - m_{21}m_{33}, so Barbara plays m

_{31} = 0 and then one of m

_{21} = 0 or m

_{33} = 0.

Case 2.7: m_{33} = 1Barbara plays m

_{12} = 0 and Alan must respond with m

_{32} = 1, and this turns into a rearrangement of the second half of Case 2.6.

And that's it. If I've missed a case, or given incorrect reasoning, feel free to correct me.