So this particular issue is a complicated one. I spoke with my developer who reminded me about our internal design choices over the years so far.
At first, we DID support using that particular file. However, it had some pretty ugly consequences which included most users having HUGE difficulties trying to get our plugin have output that was consistent with the theme. So we had to ditch that approach and use the shortcode instead to output the content of the page in a theme template directly, which made it much easier to have that look and feel out of the box. This made 90% of the users happy, so it was the right choice at the time.
But the result of that choice is that doing it with the single post PHP is much harder now. Here's what my developer said specifically:
Well, custom post type templates is what we used before moving everything to a page and that's why people kept saying the listings looked bad. I kept part of the support there for people wanting to use it and it should be accessible either via the single-wpbdp_listing.php theme template or overriding businessdirectory-single.tpl.php inside the theme.
When BD detects the businessdirectory-single.tpl.php template it stops using its own permalink mechanism (so you get the default one for custom types, just like the user wants). We also support the custom taxonomy templates via the businessdirectory-category.tpl.php template.
I understand what the user is saying and I've tried to satisfy everyone but it is certainly impossible with the current approach WP has for custom types: since no theme is going to include templates for post types different than page or post using the default template will make things look horrible (as it did before) and using just one page for everything makes it very difficult to integrate with other plugins that expect post types to behave in a standard manner. This also removes the ability to use custom permalink structures and other stuff, just like this user said.
The problem with using the custom templates I described above is that you'll lose a lot of things that are printed only in default templates because that's where we have control. Things like the Regions selector, for instance. I also suppose the user wants to modify how an individual listing is output (title, content, etc.) and since most of the data for a listing is stored as metadata he will have to use our Form Fields API which isn't really public.
So there you have it.