I'm posting this for Google search purposes, in the hope it helps someone else.
I have a simple set-up: a DIR-655 with 2 devices plugged in to it. The Plex Media Server runs on Ubuntu Linux and acts as the DLNA server to a PS3 DLNA client. Both are hard-wired with ethernet cables to the DIR-655. In this set up the PS3 has trouble discovering the PLEX server via DLNA. A 'search for DLNA devices' on the PS3 fails to return the PLEX. Eventually, after some strange time interval ranging from 2-30 minutes, the Plex server will show up on the PS3's list.
I attached a simple ethernet switch to the DIR-655 and then attached the PS3 and Plex/linux server to it. The PS3 now finds the Plex DLNA server INSTANTLY ... without even having to scan for servers.
It appears that the DIR-655 is trying to be 'helpful' in some way by filtering some sort of traffic; multicast/igmp I assume. There don't appear to be any settings in the GUI to alter the Multicast/IGMP/DLNA/UPnP behavior in the LAN ... other then "turn UPnP on."
Note that this is hardware B1 and firmware 2.00NA.
Personal Rant:
I spent three months trying to figure this out. I'm a network engineer with 20 years of experience and I've been making 6 figures for the last 10 years.
A) I spent too much time trying to figure out PS3/PLEX settings.
B) I should have simplified the environment much sooner.
C) I strongly disapprove of the idiot who decided to implement the 'helpful' filtering feature.