Approach to adapting a traditional PHP solution into a Drupal module
Here is what I would do (Drupal 7 assumed):


Look into http://api.drupal.org/api/drupal/modules--system--system.api.php/function/hook_schema/7 for defining your tables. You don't need to do anything special to reference node and user; Drupal doesn't make heavy use of foreign keys. Look into the database abstraction layer to get an idea of the functions you can use to interact with the database. db_select is particularly cool and naturally supports joins.
You may also want to look into Data and Views. Through the use of these modules, you may be able to cut down on the amount of custom code you have to write.
For the blocks, it depends on if they have dynamic or static content. If dynamic, look into Example: Block. If static, check out the Boxes module. Also look into Context as an alternative for placing the blocks instead of using the block visibility settings. This is assuming I understood your use of terminology when you said blocks.
For the pages, look into hook_menu. You can define your own this way; of course, you can also just create pages through the interface...so it depends again on what you meant.
Your development environment sounds fine. You'll find the tools you like as you go along.
There'll be a learning curve, but what you learn will be extremely reusable across future sites you build. It's worth it.