The loop issue would depend on how the crosspost gets initiated. If the client does what it sounds like you want it to do--that is, gets a list of the available accounts for crossposting, selects the ones configured for default crosspost, and then sends back a postevent with crosspost enabled for those accounts--then there isn't a problem. DW gets the postevent, makes the new entry, and then sends out postevents to the other servers. obviously not telling them to do any crossposting themselves.
The problem would come up if, instead of making the client explicitly request a crosspost, you instead just declared that posts coming in from clients and email are assumed to want the default crossposting behavior. Then you could run into a situation where account 1 was set up to automatically crosspost to account 2, and account 2 was set up to automatically crosspost to account 1. Then you'd have a loop. (I suppose you could get out of that by putting in an explicit crosspost disable that happens on crosspost, but I'm not really sure that's a better solution.)
Re: LogJam porting question: prop_xpost_check
The problem would come up if, instead of making the client explicitly request a crosspost, you instead just declared that posts coming in from clients and email are assumed to want the default crossposting behavior. Then you could run into a situation where account 1 was set up to automatically crosspost to account 2, and account 2 was set up to automatically crosspost to account 1. Then you'd have a loop. (I suppose you could get out of that by putting in an explicit crosspost disable that happens on crosspost, but I'm not really sure that's a better solution.)