My guess is that sending commands in quick succession is over-running the X10 boards buffer. X10 commands are surprisingly slow. There are a few layers of redundancy built into the protocol, making a simple "turn on this lamp" longer then you might expect. X10 waits for an AC zero-crossing to send each individual bit. The theoretical maximum throughput for X10 on a North American grid is 60 bits/seconds (even lower on European, 50Hz electrical grids).
If the X10 board is locking up because to many commands are being thrown at it, my suggestion is to slow down the rate at which commands are sent.